4 php user-roles laravel laravel-4
作为我的"批准"流程的一部分,我希望管理员根据需要为用户分配不同的角色.
我想"分离"用户当前的角色并添加一个新角色.
$id = Input::get('submit');
$user = User::where('id','=', $id)->first();
$user->attachRole(2);
$user->save();
Run Code Online (Sandbox Code Playgroud)
上面的代码获取了我想要重新分配角色的用户ID,然后是分配了新角色的attachRole,但是我无法删除之前的代码.
但是,它不会删除用户之前分配给它的角色.
$user->detachRole(USER ID HERE);
Run Code Online (Sandbox Code Playgroud)
似乎不起作用.
唯一的问题是,如果它在'Role'表中,我可以使用$ 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();
}
}
Run Code Online (Sandbox Code Playgroud)