首页 > 解决方案 > 无法为用户分配角色或权限(Laravel - nova 权限)

问题描述

我正在使用Laravel 5.7postgreSQL管理nova面板。我还使用vyuldashev/nova-permission来处理构建在spatie/laravel-permission之上的 rbac CRUD 。

在定义权限或角色时,nova 权限 CRUD 中的所有内容都很好。但问题是当我为用户分配权限或角色时,我收到以下错误:

[10:50:18] LOG.error: SQLSTATE[42703]: Undefined column: 7 ERROR:  column "id" does not exist
LINE 1: ... "role_id", "model_type")
values
($1, $2, $3) returning "id" ^ (SQL: insert into "model_has_roles" ("model_id", "role_id", "model_type") 
values
 (198564523584, 1, App\Models\User\User) returning "id") {"userId":198564523584,"email":"b.sobhanbagheri@gmail.com","exception":{"errorInfo":["42703",7,"ERROR:  column \"id\" does not exist\nLINE 1: ... \"role_id\", \"model_type\") values ($1, $2, $3) returning \"id\"\n ^"]}}

我不确定究竟是什么破坏了查询。如果它与postgreSQL. 任何帮助表示赞赏。

标签: laravelpostgresqleloquentlaravel-nova

解决方案


id通过将自动增量添加到我试图添加记录的表(到默认迁移)中,解决了我的问题。似乎postgreSQL或不允许您根据包代码和查询结构laravel插入到没有自动增量的表中。id


推荐阅读