Неудобство при мягком удалении laravel?
Делал в обработчике события на deleted на модели выборку необходимых связанных моделей и тоже делал им удаление.
Возможно, я ретроград, но мне кажется, внешние ключи - это зло. Бизнес-логика отправляется в нетестируемое отдалённое место, про которое можно забыть и однажды накосячить. 
Только явно в коде, только хардкор.