1

我想返回所有不存在各种关系和各种角色的用户。

目前,这可以正常工作:

User::doesntHave('trusts')
        ->doesntHave('sites')
        ->pluck('email', 'name', 'id');

我还想要删除具有“管理员”角色的用户。

到目前为止,我已经尝试过:

User::doesntHave('trusts')
         ->doesntHave('sites')
         ->whereDoesntHave('roles', function ($query) {
             $query->hasRole(['admin']);
         })
         ->pluck('email', 'name', 'id')

但它返回错误:

调用未定义的方法 Illuminate\Database\Query\Builder::hasRole()

如何过滤掉具有特定角色的用户?

4

1 回答 1

2

尝试这个

User::doesntHave('trusts')
         ->doesntHave('sites')
         ->whereDoesntHave('roles', function ($query) {
             $query->where('name', 'admin');
         })
         ->pluck('email', 'name', 'id')
于 2017-02-12T11:23:15.657 回答