2015-03-18 85 views
0

我需要選擇所有具有管理員或主持人角色的用戶。但是,當我嘗試此代碼$user = Role::with('users')->where('name', '=', 'admin')->orWhere('name', '=', 'moderator')->get();它是由這樣的角色,以便他們:是否可以在Laravel中選擇具有管理員角色或管理員的用戶?

Array 
    (
     [0] => Array 
      (
       [id] => 1 
       [name] => admin 
       [users] => Array 
        (
         [0] => Array 
          (
           [id] => 1 
           [name] => admin 
           [pivot] => Array 
            (
             [role_id] => 1 
             [user_id] => 1 
            ) 

          ) 

        ) 

      ) 

     [1] => Array 
      (
       [id] => 2 
       [name] => moderator 
       [users] => Array 
        (
         [0] => Array 
          (
           [id] => 2 
           [name] => Moderator 
           [pivot] => Array 
            (
             [role_id] => 2 
             [user_id] => 2 
            ) 

          ) 
        ) 

      ) 

    ) 

有沒有辦法讓所有的用戶在一個陣列角色管理員或版主?

回答

1

是的。由於您正在根據用戶角色查找用戶,因此請從用戶處開始。

$users = User::with('roles')->whereHas('roles', function($q) 
{ 
    $q->whereIn('name', ['admin', 'moderator']); 
})->get(); 
+0

你讓我的一天花花公子。謝謝 :) – mertindervish 2015-03-18 21:13:21

相關問題