我正在尝试显示一个角色为' admin'的用户列表。或者'网站管理员'。我只能在指定一个角色时才能使它工作,但是当我尝试通过添加orWhere子句来获取它时,它会返回所有用户而不管他们的角色。
$admins = User::whereHas('roles', function($q) {
$q->where('name', 'Admin');
})->paginate(25);
我尝试过以下操作,但它会返回所有角色的所有用户。
$admins = User::whereHas('roles', function($q) {
$q->where('name', 'Admin')
->orWhere('name', 'Webmaster');
})->paginate(25);
有没有人对如何做到这一点有任何想法?作为参考,我有一个users表,一个角色表和一个role_user表,它是从角色到用户的多对多表。
答案 0 :(得分:2)
试试这个,
$admins = User::whereHas('roles', function($q) {
$q->whereIn('name', ['Admin', 'Webmaster'] );
})->paginate(25);