Hỏi về thêm item trong liên kết n - n
Trước giờ em toàn dùng liên kết 1 - 1, 1 - n nay mới dùng n - n
Theo như trong ảnh thì em tạo 2 model: Product, Cart. Vì 2 bảng là quan hệ n - n nên em tạo thêm bảng trung gian: cart_product( chỉ make:migrate thôi, ko tạo model). Bây giờ em muốn người dùng click vào 1 product => thêm id của product đó và id của cart vào bảng cart_product( thêm sp vào giỏ hàng) thì phải làm thế nào ạ?? em cảm ơn
2 CÂU TRẢ LỜI
Đầu tiên thì bạn cần tìm ra product mà người dùng chọn, vì bạn có id nên sẽ là
$product = Product::find($productId);
Tiếp tới thì bạn sẽ cần thêm vào bảng trung gian, ở đây thì mình sẽ dùng attach
$product->cart()->attach($cartId);
Bạn có thể tìm hiểu thêm ở đây nhé: https://laravel.com/docs/8.x/eloquent-relationships#attaching-detaching
Còn nếu bạn muốn thêm theo kiểu tự tạo trực tiếp từ bảng trung gian, thì bạn hoàn toàn có thể tạo ra model của bảng đó rồi thao tác, theo mình thấy thì cũng không vấn đề gì
thế bây giờ em muốn truy xuất dữ liệu từ bảng trung gian thì phải thế nào ạ?
@nhatnguyen123321 bạn tạo model của bảng trung gian và truy vấn từ đó nhé. Hoặc dùng query builder cũng được. Laravel có những hàm hỗ trợ truy vấn n-n, nhưng nếu cần truy vấn từ bảng trung gian thì cứ làm như các bác khác thui :v
Hoặc bạn có thể search keyword này nhé wherePivot