我需要关于spatie/Laravel权限的帮助。当我试图给它赋值时,它给了我错误的答案,看起来好像出了问题。
$role= new Role;
$n=count($request['permission_id']);
//dd($count);
for($i=0; $i< $n ; $i++)
{
$role->givePermissionTo('9');
} 错误
Connection.php第761行中的值: SQLSTATE23000:完整性约束违规: 1048列'role_id‘不能为null (SQL: insert into role_has_permissions (permission_id,role_id) QueryException (9,))
发布于 2016-10-28 21:39:42
如果你已经有了这个角色,那么你只需要像这样得到它:
$role = Role::find($id);或者(如果您想按名称获取它)
$role = Role::where('name', '=' , $name)->get();然后分配权限
$role->givePermissionTo('name of the permission');发布于 2021-12-23 17:39:22
在Laravel中,使用new创建模型时,模型不会插入到数据库中,应使用save或create创建模型
$role = new Role();
$role->save(); // role now has an id或
$role = Role::create(); // new role and has an id另外,您的循环不正确,您的意思是使用计数器来索引请求中的权限数组吗?此时,它将尝试添加与数组中的项一样多的相同权限。
https://stackoverflow.com/questions/40305544
复制相似问题