是否可以 select 用户在 Laravel 中具有管理员角色或管理员角色?
Is it possible to select users with admin role or moderator in Laravel?
我需要 select 所有具有管理员或版主角色的用户。但是当我尝试这段代码时 $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
)
)
)
)
)
有没有办法让所有用户都在一个数组中,角色为管理员或版主?
是的。由于您是根据角色寻找用户,因此请从用户开始。
$users = User::with('roles')->whereHas('roles', function($q)
{
$q->whereIn('name', ['admin', 'moderator']);
})->get();
我需要 select 所有具有管理员或版主角色的用户。但是当我尝试这段代码时 $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
)
)
)
)
)
有没有办法让所有用户都在一个数组中,角色为管理员或版主?
是的。由于您是根据角色寻找用户,因此请从用户开始。
$users = User::with('roles')->whereHas('roles', function($q)
{
$q->whereIn('name', ['admin', 'moderator']);
})->get();