0

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 に変更しようとすると、できません.

誰かが私を助けることができますか?

4

0 に答える 0