gpt4 book ai didi

php - 自动填充外键行

转载 作者:行者123 更新时间:2023-11-29 10:52:12 25 4
gpt4 key购买 nike

我正在尝试使用 laravel 为一个项目创建一个登录/注册系统,由于这是我第一次,我遇到了很多麻烦,所以请原谅我的任何极端情况我犯过一些愚蠢的错误。

我已经成功向默认注册屏幕添加了一个新的自定义字段,但在修改后的用户表中,我还有两个引用其他表的外键(“gameInfo_id”引用“gameInfo”表,“role_id”引用' 指的是“角色”表)

这是我收到的错误: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails

这是否意味着我必须找到一种方法来自动填充外键?如果是这样,我将如何去做这件事?我做了一些谷歌搜索,发现这通常似乎是个问题,但我从未找到明确的解决方案。

谢谢!

这是我在用户表中的迁移:

      Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('firstName');
$table->string('lastName');
$table->string('email')->unique;
$table->string('password');
$table->integer('gameInfo_id')->unsigned();
$table->integer('role_id')->unsigned();
$table->timestamps();
});

Schema::table('users', function($table) {
$table->foreign('gameInfo_id')->references('id')->on('gameInfo');
$table->foreign('role_id')->references('id')->on('roles');
});

gameInfo 是用户在我们正在制作的游戏中获得的分数表。我想要实现的是,当新用户注册帐户时,它会在 gameInfo 中创建一个新行,gameInfo_id 外键将引用该行。如果有帮助的话,这个新创建的行的列可以默认设置为 0

最佳答案

我会反过来做。我将使用 user_id 列引用 gameInfo 表上的用户。这样,用户就有很多gameInfo,并且一个gameInfo属于一个用户。由于游戏信息不是在用户创建并玩过游戏之前创建的。

这有意义吗?

关于php - 自动填充外键行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43519241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com