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.