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 đó.