【发布时间】:2018-03-24 06:38:09
【问题描述】:
我不明白为什么我有这个错误,我刚刚创建了assigneRole和权限,但是assigneRole不起作用,当我使用它时它说同步或保存不存在,我认为它一定是因为WhereName,有什么想法吗?
这是我的用户模型:
public function roles()
{
return $this->belongsToMany(Role::class);
}
public function assignRole($role)
{
return $this->roles->save(
Role::whereName($role)->firstOrFail()
);
terminal php artisan tinker
$user = User::latest()->first();
$user->assignRole('editor');
}
【问题讨论】:
-
如果是这样的话,那么这个方法 public function givePermissionTo(Permission $permission) { return $this->permissions()->save($permission); } 应该不起作用,但它确实起作用。
-
对不起,我解释得很糟糕,请参阅答案。
-
这是一个很好的解决方案,谢谢我的朋友。
-
不客气 :)