我正在使用Entrust并有3种类型的用户(管理员,主持人,播放器);
我有2个桌子:用户和大厅(游戏场所);
所有这些用户(Admin,Moderator,Player)都存储在Users表中;
所以管理员和主持人可以做Hall;与hall_id连接的用户;
我在Hall与Owner_Id(创建Hall)的用户之间建立了关系;
用户:当我在迁移中执行某些操作时,例如$ table-> foreign('hall_id') - > references('id') - > on('hall')
=>我有错误;
当然我不会忘记注册unsigned()而hall_id是整数;
[照亮\数据库\ QueryException] SQLSTATE [23000]:完整性约束违规:1452无法添加或更新 子行:外键约束失败(
bingo
。#sql-396_1dc
,CONSTR AINTusers_hall_id_foreign
FOREIGN KEY(hall_id
)REFERENCEShall
(id
))(SQL:alter tableusers
添加约束users_hall_id_foreign
foreig n键(hall_id
)引用hall
(id
))
我想了解玩家的大厅信息
答案 0 :(得分:0)
您是否尝试在数据库为空的情况下运行迁移?如果您这样做并且仍然遇到此错误,请尝试添加可为空的属性
Try adding $table->integer('hall_id')->nullable();
我希望有所帮助!