php - 在 Entrust 中分配新角色

标签 php laravel laravel-4 user-roles

作为“批准”流程的一部分,我希望管理员根据需要为用户分配不同的角色。

我想“分离”用户的当前角色并添加一个新角色。

$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/

相关文章:

php - 使用 Ratchet php 而不使用 ZeroMQ 将消息推送到 websockets

php - 按日期分列的小计

php - 使用准备好的语句时,是否有理由在 $_GET 或 $_POST 变量上使用 (mysqli_real_escape_string) 进行清理?

php - laravel nova 在索引页面上隐藏编辑按钮

php - Laravel:使用 Auth 驱动程序登录,但没有密码

php - 找不到类 'Maatwebsite\\Excel\\ExcelServiceProvider' - Laravel 4.2

javascript - 搜索按钮在使用 jQuery 的即时搜索中不起作用

php - Laravel 5. app.blade.php 中的动态数据 : BaseController or ViewComposers?

php - laravel上传的图片未添加到数据库

php - Laravel - 生成唯一的订单号