Laravel DataTables查询和委托



我正在使用Laravel 5.3与Laravel DataTables和optrust

在我的索引操作上,我在数据表中显示了记录列表。现在,我需要将委托给它。如果用户是管理员,他们可以看到所有潜在客户。但是,如果用户是普通用户,则只能看到属于它们的记录。

我不确定如何处理,我是否将此查询放在IF语句检查角色或有更好的方法中吗?

public function query()
    {
        $leads = Lead::query()
            ->select([
                'leads.id as id',
                'leads.parent_id as parent_id',
                'statuses.name as status',
                'leads.title as title',
                'leads.first_name as first_name',
                'leads.last_name as last_name',
                'leads.opt_in as opt_in',
                'leads.created_at as created_at',
                'leads.user_id as user_id',
            ])
            ->leftJoin('statuses', 'leads.status_id', '=', 'statuses.id');
        return $this->applyScopes($leads);
    }

太久了,我不使用委托,因为Laravel有策略。但是在您的问题上,我看到委托有方法

Auth::user()->can('permission-name');

您必须创建权限并保存到DB中,该数据可以由Run Command

创建
php artisan entrust:migration

创建许可后,将其应用于用户,它可能具有 admin 许可和普通用户许可

请在以下网址了解更多信息:https://github.com/zizaco/entrust希望我能提供帮助。如果可以使用委托,让我们研究Laravel的政策,这非常好。在https://mattstauffer.co/blog/acl-access-control-list-autorization-in-laravel-5-1#policies

相关内容

  • 没有找到相关文章

最新更新