Tak, to twój schemat. Ograniczenie likes.post_id uniemożliwi usuwanie rekordów z posts tabela.
Jednym z rozwiązań może być użycie onDelete('cascade') w likes plik migracji:
Schema::create('likes', function (Blueprint $table) {
$table->integer('post_id')->unsigned();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});
W ten sposób, gdy post zostanie usunięty, wszystkie powiązane polubienia również zostaną usunięte.
Lub, jeśli masz relację z modelu Post do modelu Like, możesz $post->likes()->delete() przed usunięciem samego posta.