作为“批准”流程的一部分,我希望管理员根据需要为用户分配不同的角色。
我想“分离”用户的当前角色并添加一个新角色。
$id = Input::get('submit');
$user = User::where('id','=', $id)->first();
$user->attachRole(2);
$user->save();
上面的代码获取了我要重新分配角色的用户ID,然后是attachRole,分配了新的,但是我不能删除之前的。
但是,它不会删除用户之前分配给它的角色。
$user->detachRole(USER ID HERE);
好像不行。
唯一的问题是,如果它在“角色”表中,我可能会使用 $user->roles()->delete(类似的东西),其中用户对角色的分配在 ' assigned_roles 表。
如有任何帮助,我们将不胜感激。
最佳答案
这是一个示例函数,您可以使用它来保存您的角色,它接受一组角色 ID:
/**
* Save roles inputted from multiselect
* @param $inputRoles
*/
public function saveRoles($inputRoles)
{
if(! empty($inputRoles)) {
$this->roles()->sync($inputRoles);
} else {
$this->roles()->detach();
}
}
关于php - 在 Entrust 中分配新角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22768590/