我在 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,我的管理员可以更新此值,只需检查 Gallery ID 上的 NULL,但在我的代码中更新,如果我这样设置 -
$post->gallery_id = Null;
它会给出这个错误:
SQLSTATE [23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败...
因为我不能将一个外键设置为空更新,只是在一个创建的方法上,如果我不设置,它将为空,但是如果我设置一个值并且在我尝试更改为空之后,我不能.
有人可以帮助我吗?