2017-02-12 64 views
0

我想返回所有沒有各種關係存在和各種角色的用戶。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') 

但它返回錯誤:

Call to undefined method Illuminate\Database\Query\Builder::hasRole()

我怎樣才能篩選出具有特定角色的用戶?

回答

1

試試這個

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

完美的作品!謝謝@Paras。 – Ben

+0

很高興幫助,歡呼! – Paras

相關問題