Внешний ключ Laravel обнуляемый не может быть нулевым на ОБНОВЛЕНИЕ
Я создаю таблицу - GAllERY_ID на POST. Это внешний ключ, обнуляемый и по умолчанию пустой. Когда я создаю POST, если я не установлю GALLERY_ID, он будет нулевым. Но если я установлю GALLERY_ID и ссылку на GAllery, после того, как я попытаюсь сделать этот NULL снова (ОБНОВЛЕНИЕ), я не смогу.
Я сделал это миграция -
UP -
$table->integer(‘gallery_id’)->unsigned()->nullable()->default(null);
$table->foreign(‘gallery_id’)->references(‘id’)->on(‘photo_gallery’);
ВНИЗ -
$table->dropForeign(‘posts_gallery_id_foreign’);
Посмотрите на изображение моей БД на PHP МОЙ АДМИН
Если я перейду на PHP моего администратора, я смогу обновить это значение, просто проверив NULL на идентификаторе галереи, НО в моем коде на UPDATE, если я установлю вот так -
$post->gallery_id = Null;
Это даст эту ошибку:
SQLSTATE [23000]: Нарушение ограничения целостности: 1452 Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполнено...
Поскольку я не могу установить нулевой внешний ключ для обновления, просто на созданном методе, если я не установлю, он будет нулевым, но если я установлю значение и после того, как я попытаюсь изменить его на NULL, я не смогу,
Кто-нибудь может мне помочь?