Ano, je to vaše schéma. Omezení likes.post_id
vám zabrání ve smazání záznamů z posts
tabulka.
Jedním z řešení by mohlo být použití onDelete('cascade')
v likes
migrační soubor:
Schema::create('likes', function (Blueprint $table) {
$table->integer('post_id')->unsigned();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});
Tímto způsobem, když je příspěvek smazán, budou smazány i všechny související lajky.
Nebo, pokud máte vztah z modelu Post k modelu To se mi líbí, můžete $post->likes()->delete()
před smazáním samotného příspěvku.