Laravel Entrust, запрос, где пользователи не имеют роли
Я хотел бы вернуть всех пользователей, у которых нет различных отношений существования и различных ролей.
На данный момент это работает правильно:
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()
Как я могу отфильтровать пользователей с определенной ролью?
1 ответ
Решение
Попробуй это
User::doesntHave('trusts')
->doesntHave('sites')
->whereDoesntHave('roles', function ($query) {
$query->where('name', 'admin');
})
->pluck('email', 'name', 'id')