0

我在 POST 上创建了一个表 GAllERY_ID。那是一个可以为空的外键,默认为空。当我创建一个 POST 时,如果我不设置 GALLERY_ID,它将为空。但是,如果我在 GAllery 上设置 GALLERY_ID 和引用,之后如果我尝试再次将其设为 NULL(ON UPDATE ),我不能。

我确实喜欢迁移-

向上——</p>

$table->integer(‘gallery_id’)->unsigned()->nullable()->default(null);

$table->foreign(‘gallery_id’)->references(‘id’)->on(‘photo_gallery’);

向下——</p>

$table->dropForeign(‘posts_gallery_id_foreign’);

在 PHP MY ADMIN 上查看我的数据库图像

如果我继续使用 PHP,我的管理员可以更新此值,只需检查 Gallery ID 上的 NULL,但在我的代码中更新,如果我这样设置 -

$post->gallery_id      =  Null;

它会给出这个错误:

SQLSTATE [23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败...

因为我不能将一个外键设置为空更新,只是在一个创建的方法上,如果我不设置,它将为空,但是如果我设置一个值并且在我尝试更改为空之后,我不能.

有人可以帮助我吗?

4

0 回答 0