Shlop
@Shlop
Full Stack Developer (PHP/Laravel/JavaScript)

Как реализовать каскадное удаление не только из связующей таблицы в Laravel?

Здравствуйте подскажите пожалуйста у меня есть модель Region и Image, между ними определена связь многие-ко-многим. Соответственно в БД таблицы: regions, images, и связующая таблица image_region.
Миграция связующей таблицы вот:
Schema::create('image_region', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->unsignedBigInteger('region_id');
            $table->foreign('region_id')->references('id')->on('regions')->onDelete('cascade');
            $table->unsignedBigInteger('image_id');
            $table->foreign('image_id')->references('id')->on('images')->onDelete('cascade');
        });

Собственно сама проблема у меня в том что когда я удаляю какой либо Region прикрепленные картинки к нему в таблице Image остаются ну а из image_region сопоставления id удаляются конечно же. Мне хотелось бы что бы при удалении какого либо Region удалились картинки из таблицы Image прикрепленные к нему и сопоставления id из таблицы image_region. У меня есть конечно идея при удалении Region, получать картинки из Image прикрепленные к соответствующему Region и удалять их. Но может есть ещё какое нибудь решение. Подскажите пожалуйста, заранее благодарю за ответ.
  • Вопрос задан
  • 964 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы