首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel spatie/laravel-permissions

Laravel spatie/laravel-permissions
EN

Stack Overflow用户
提问于 2016-10-28 20:51:49
回答 2查看 611关注 0票数 0

我需要关于spatie/Laravel权限的帮助。当我试图给它赋值时,它给了我错误的答案,看起来好像出了问题。

代码语言:javascript
复制
   $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_idrole_id) QueryException (9,))

EN

回答 2

Stack Overflow用户

发布于 2016-10-28 21:39:42

如果你已经有了这个角色,那么你只需要像这样得到它:

代码语言:javascript
复制
$role = Role::find($id);

或者(如果您想按名称获取它)

代码语言:javascript
复制
$role = Role::where('name', '=' , $name)->get();

然后分配权限

代码语言:javascript
复制
$role->givePermissionTo('name of the permission');
票数 1
EN

Stack Overflow用户

发布于 2021-12-23 17:39:22

在Laravel中,使用new创建模型时,模型不会插入到数据库中,应使用savecreate创建模型

代码语言:javascript
复制
$role = new Role();
$role->save();  // role now has an id

代码语言:javascript
复制
$role = Role::create();  // new role and has an id

另外,您的循环不正确,您的意思是使用计数器来索引请求中的权限数组吗?此时,它将尝试添加与数组中的项一样多的相同权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40305544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档