public function apply(Builder $builder, Model $model)
    {
        $column = $this->getPolicyColumn($model);
        if (is_null($column) && get_class($model) !== \Antares\Model\User::class) {
            return;
        }

        if (!auth()->user()) {
            return;
        }
        $id       = auth()->user()->roles->first()->id;
        $elements = Cache::remember('roles1-' . $id, 5, function() use($id) {
                    $roles = app(Role::class)->withTrashed()->orderby('parent_id')->get()->toArray();
                    return $this->getLowerRoles($roles, $id);
                });

        $uid = user()->id;
        if (get_class($model) === \Antares\Model\User::class) {
            if (empty($elements)) {
                $builder->whereRaw("(tbl_users.id is null or tbl_users.id=?)", [$uid]);
            } else {
                $in = implode(',', array_values($elements));
                $builder->whereRaw("(tbl_users.id is null or tbl_users.id=? or tbl_users.id in (select user_id from tbl_user_role where role_id in({$in})))", [$uid]);
            }
        } elseif (!empty($elements)) {
            $in = implode(',', array_values($elements));
            $builder->whereRaw("(user_id is null or user_id=? or user_id in (select user_id from tbl_user_role where role_id in({$in})))", [$uid]);
        }
    }