我需要选择具有管理员或管理员角色的所有用户。但是,当我尝试使用此代码$user = Role::with('users')->where('name', '=', 'admin')->orWhere('name', '=', 'moderator')->get();
时,它按照以下角色对它们进行排序:
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
)
)
)
)
)
有没有办法让一个阵列中的所有用户都拥有角色admin或版主?
答案 0 :(得分:1)
呀。由于您要根据用户的角色寻找用户,请从用户处开始。
$users = User::with('roles')->whereHas('roles', function($q)
{
$q->whereIn('name', ['admin', 'moderator']);
})->get();