Sì, è il tuo schema. Il vincolo su likes.post_id
ti impedirà di eliminare i record dai posts
tabella.
Una soluzione potrebbe essere l'utilizzo di onDelete('cascade')
nei likes
file di migrazione:
Schema::create('likes', function (Blueprint $table) {
$table->integer('post_id')->unsigned();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});
In questo modo, quando un post viene eliminato, verranno eliminati anche tutti i Mi piace correlati.
Oppure, se hai una relazione dal modello Post al modello Like, puoi $post->likes()->delete()
prima di eliminare il post stesso.