Laravel 委托,查询用户没有角色的位置



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

目前,这工作正常:

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((

如何筛选出具有特定角色的用户?

试试这个

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

相关内容

  • 没有找到相关文章

最新更新