Laravel 5.4 удалить отношение один ко многим

Я хочу удалить запись в таблице, если никто не использует ее в другом.

Например, если я удаляю все статьи в категории, я хочу удалить и эту категорию, потому что ею никто не пользуется.

Есть ли простой способ сделать это с помощью laravel?

Благодарить


person Furya    schedule 16.06.2018    source источник


Ответы (2)


Используйте метод laravel doesntHave для удаления всех категорий, в которых нет статей.

Что-то вроде этого

category::doesntHave('articles')->delete();

Подробнее об этом можно прочитать в официальном документе здесь

person user7747472    schedule 16.06.2018

Когда вы проверяете, есть ли в категории какие-либо статьи, вы можете просто удалить категорию, если их нет. Например:

if(!$category->articles->count()){
   $category->delete();
}
person user3089840    schedule 16.06.2018