将用户添加到laravel中的现有角色

时间:2015-03-12 23:21:34

标签: php laravel

我正在使用https://github.com/romanbican/roles来管理用户角色。我正在尝试将用户的角色设置为现有角色。

我可以通过以下方式创建一个新角色:

$role = Role::create([
  'name' => 'Admin',
  'slug' => 'admin'
]);

$user = User::find($id)->attachRole($role);

工作正常。问题是将角色设置为现有角色。有attachRole方法接受id。我假设了角色的身份。如果我能做attachRole('admin');

,那就太好了

目前还不清楚如何在文档中执行此操作。我已经尝试过再次创建角色但是我得到了一个重复的角色错误,正如预期的那样。很抱歉,如果这是一个菜鸟问题,我昨天刚开始使用L5。

1 个答案:

答案 0 :(得分:1)

我不知道包,但您应该能够检索角色模型并使用它:

$role = Role::where('slug', 'admin')->first();
$user = User::find($id)
if($role && $user){
    $user->attachRole($role);
}
else {
    // either role or user not found
}