Vâng, đó là giản đồ của bạn. Ràng buộc đối với likes.post_id sẽ ngăn bạn xóa bản ghi khỏi posts bảng.
Một giải pháp có thể là sử dụng onDelete('cascade') trong likes tệp di chuyển:
Schema::create('likes', function (Blueprint $table) {
$table->integer('post_id')->unsigned();
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});
Bằng cách này, khi một bài đăng bị xóa, tất cả các lượt thích có liên quan cũng sẽ bị xóa.
Hoặc, nếu bạn có mối quan hệ từ mô hình Bài đăng sang mô hình Thích, bạn có thể $post->likes()->delete() trước khi xóa chính bài đăng đó.