POST でテーブル GAllERY_ID を作成します。これは null 許容の外部キーであり、デフォルトでは null です。POST を作成するときに、GALLERY_ID を設定しないと null になります。しかし、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 で私の DB のイメージを見てください。
管理者の PHP を使用すると、ギャラリー ID で NULL をチェックするだけでこの値を更新できますが、UPDATE のコードで次のように設定すると、
$post->gallery_id = Null;
次のエラーが発生します。
SQLSTATE [23000]: 整合性制約違反: 1452 子行を追加または更新できません: 外部キー制約が失敗します ...
Update に外部キーを null に設定できないため、作成したメソッドだけで、設定しないと null になりますが、値を設定してから NULL に変更しようとすると、できません.
誰かが私を助けることができますか?