Ja, es ist Ihr Schema. Die Beschränkung auf likes.post_id
wird Sie daran hindern, Datensätze aus den posts
zu löschen Tabelle.
Eine Lösung könnte die Verwendung von onDelete('cascade')
sein in den likes
Migrationsdatei:
Schema::create('likes', function (Blueprint $table) {
$table->integer('post_id')->unsigned();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});
Auf diese Weise werden beim Löschen eines Beitrags auch alle zugehörigen Likes gelöscht.
Oder, wenn Sie eine Beziehung vom Post-Modell zum Like-Modell haben, können Sie $post->likes()->delete()
verwenden bevor Sie den Beitrag selbst löschen.