我在POST上创建了一个表-GAllERY_ID。这是一个可以为空的外键,默认为null。 当我创建POST时,如果我没有设置GALLERY_ID,它将为null。 但是如果我在GAllery上设置GALLERY_ID和引用,如果我再次尝试将其设为NULL(ON UPDATE),我就不能。
我确实喜欢迁移 -
UP -
$table->integer(‘gallery_id’)->unsigned()->nullable()->default(null);
$table->foreign(‘gallery_id’)->references(‘id’)->on(‘photo_gallery’);
DOWN -
$table->dropForeign(‘posts_gallery_id_foreign’);
Have a look on the image of my DB on PHP MY ADMIN
如果我继续PHP我的管理员我可以更新这个值,只需检查Gallery ID上的NULL,但是我的代码更新UPDATE,如果我这样设置 -
$post->gallery_id = Null;
会出现此错误:
SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败...
因为我无法将一个外键设置为Update,只是在创建的方法上,如果我没有设置,它将为null,但是如果我设置了一个值并且在我尝试更改为NULL之后,我不能。
有人可以帮助我吗?