我具有用户和角色关系,属于belongsToMany。 我现在想让所有用户按名称具有多个角色。
我尝试过,
$role_ids = [1,2];
$users = User::whereHas('roles' , function ($query) use($role_ids) {
$query->whereIn('roles.id', $role_ids);
})->get();
但是这种方法为我提供了与这两个角色或一个角色相关联的用户,这不是我期望的
答案 0 :(得分:0)
您必须为此添加多个whereHas
$role_ids = [1,2];
$users = User::with('roles');
foreach($role_ids as $role){
$users->whereHas('roles', function($q) use ($role){
$q->where('roles.id', $role);
});
}
$users = $users->get();