如何为 Laravel 中的多个角色建立反向关系

How to make reverse relationship for multiple Role in Laravel

我正在使用 Entrust 并且有 3 种类型的用户(管理员、版主、玩家);
我有 2 tables:用户和大厅(游戏场所);
所有这些用户(管理员、版主、播放器)都存储在用户 table 中;
这样 Admin 和 Moderator 就可以创建 Hall; hall_id;

连接的用户

我在 Hall 中与 Owner_Id 的用户建立了关系(谁创建了 Hall);

我想为球员做同样的事情;

用户:当我在迁移中做了一些事情,比如 $table->foreign('hall_id')->references('id')->on('hall')
=> 我有错误;
当然不忘注册unsigned(),hall_id是整数;

[Illuminate\Database\QueryException] SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (bingo.#sql-396_1dc, CONSTR AINT users_hall_id_foreign FOREIGN KEY (hall_id) REFERENCES hall (id )) (SQL: alter table users add constraint users_hall_id_foreign foreig n key (hall_id) references hall (id))


我想了解玩家的大厅信息

您是否尝试过 运行 在您的数据库为空的情况下进行迁移?如果您这样做了,但仍然出现此错误,请尝试添加可为 null 的属性。
Try adding $table->integer('hall_id')->nullable();

希望对您有所帮助!