Да, това е твоята схема. Ограничението за 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() преди да изтриете самата публикация.