Есть есть 3 таблицы:
pictures,
sections и
catalogs
Модель
catalog связана
belongsTo с
pictures и
hasMany с
sections
То есть логично, что каталог может иметь фото и много разделов.
Разделы в свою очередь так же могут иметь фото и модель разделов так же связана с фото
belongsTo
и еще раздел принадлежит каталогу, поэтому что бы узнать какому я добавил в модель разделов и
belongsTo к каталогу.
Но проблема с удалением, я в события по документации в
AppServiceProvider добавил для разделов:
Section::deleting(function ($section) {
$section->pictures()->delete();
});
И при удалении разделов удаляется и фото, все работает верно.
Но вот если я удаляю каталог, то нужно что бы фото каталога, разделы и фото разделов удалились, которые связаны с этим каталогом. Я сделал так:
В
AppServiceProvider добавил
public function boot()
{
// Удаляем фото при удалении раздела
Section::deleting(function ($section) {
$section->pictures()->delete();
});
// Удаляем каталог и его фото и разделы и фото разделов при удалении каталога
Catalog::deleting(function ($catalog) {
$catalog->pictures()->delete();
$catalog->sections()->delete();
});
}
Но в итоге фото разделов остаются в таблице при удалении каталога... Что я не так делаю, и вообще логика верна?