Да, това е твоята схема. Ограничението за likes.post_id
ще ви попречи да изтриете записи от posts
таблица.
Едно решение може да бъде използването на onDelete('cascade')
в likes
файл за миграция:
Schema::create('likes', function (Blueprint $table) {
$table->integer('post_id')->unsigned();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});
По този начин, когато публикация бъде изтрита, всички свързани харесвания също ще бъдат изтрити.
Или, ако имате връзка от модела Post към модела Like, можете да $post->likes()->delete()
преди да изтриете самата публикация.