Ja, het is jouw schema. De beperking op likes.post_id
voorkomt dat u records verwijdert uit de posts
tafel.
Een oplossing zou het gebruik van onDelete('cascade')
. kunnen zijn in de likes
migratiebestand:
Schema::create('likes', function (Blueprint $table) {
$table->integer('post_id')->unsigned();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});
Op deze manier worden alle gerelateerde likes ook verwijderd wanneer een bericht wordt verwijderd.
Of, als je een relatie hebt van het Post-model naar het Like-model, kun je $post->likes()->delete()
voordat het bericht zelf wordt verwijderd.