2015-03-18 92 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

相关问题