Если у вас правильно настроены отношения toMany для модели Campaign, тогда вы можете просто позвонить delete()
для этого отношения, и он должен удалить все связанные платежи, если нет дополнительных ограничений.
Так при условии, что отношение toMany к платежу называется payments
, тогда:
if ($campaign){
$campaign->payments()->delete();
$campaign->delete();
}
РЕДАКТИРОВАТЬ:
Согласно тому, что Алекс Ма c упоминает в комментарии, это может или не может быть лучшее решение для вашей проблемы, хотя я считаю, что это самый простой ответ. Прочитайте ответы на этот Вопрос