今回発見があったので備忘録。
usersテーブルに紐づくpostsテーブルがあったとして、マイグレーションファイルには
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
こう書けば、勝手に削除されると思ってました。。。
この場合で削除されるのは、親(User)を物理削除した場合のみ。
論理削除だと、削除されないようなのです。
自動で削除してくれるのは、物理削除によって親が完全にDB上から消えた場合であって
論理削除のようにまだデータが残っている場合、DBは親が削除されたとはみなさないようです。
参考