parschakov
@parschakov
Начинающий изучать PHP и JS

Как удалить связи связующей модели?

Здравствуйте! Никак не получается удалить из бд связующий данные. Сейчас поясню.

Есть 3 модели: House, Flat, Room.

Эти модели состоят в отношениях:
-House one-to-many Flat;
-Flat one-to-many Room.

Чтобы удалить все связи House по отношению к Flat я использую:
$house = House::find($id);
$house->flats()->delete();


Но как удалить не только это, а также и связи Flat по отношению Room? То есть, как удалить все связи, что имеет модель House?

Пробую:
$house = House::find($id);
$house->flats()->rooms()->delete();


Но возникает ошибка "Call to undefined method Builder::rooms()"
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Yan-s
Можно использовать внешний ключ и mysql ON DELETE CASCADE поведение для удаления связанных записей на уровне БД.

Но, по идеи ваш код тоже должен работать. Что за метод у вас ищется - answers()?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы