@Wiemdier_brenul

Как удалить запись с главным ключем в случае если нет внешнего?

У меня в блоге есть свзяь один ко многим. У одного блога может быть несколько переводов. Удаление перевода у меня такое:
BlogTranslate::
            where('blog_id', '=', $id)
            ->where('language', '=', $lang)
            ->delete();

Как я могу проверить, есть ли у этого блога переводы и в случае если их нет - удалить эту запись?
В миграции у меня стоит каскадное удаление(в случае удаления блога, не перевода), а в переводе блога просто внешний ключ blog_id
  • Вопрос задан
  • 64 просмотра
Решения вопроса 2
vfreelancer
@vfreelancer
php
if (!BlogTranslate:: where('blog_id', $id)->exists()) {
...
}

p.s. в where = можно не писать
Ответ написан
Комментировать
iMedved2009
@iMedved2009
Не люблю людей
Снесет все модели у которых нет релейшена translate
Blog::whereDoesntHave('translate')->delete();

Или вы средствами Postgres хотите?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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