Laravel 在购物车中添加具有相同产品id的项目
我试图添加第二个id相同但大小不同的产品,但我一直覆盖第一个产品Laravel 在购物车中添加具有相同产品id的项目,laravel,session,laravel-5,cart,laravel-5.8,Laravel,Session,Laravel 5,Cart,Laravel 5.8,我试图添加第二个id相同但大小不同的产品,但我一直覆盖第一个产品 if(isset($cart[$id])&&($cart[$id]['size']==$request->productSize)) { $cart[$id]['quantity'] += $request->productQuantity; session()->put('cart', $cart); return redirect()
if(isset($cart[$id])&&($cart[$id]['size']==$request->productSize)) {
$cart[$id]['quantity'] += $request->productQuantity;
session()->put('cart', $cart);
return redirect()->back()->with('success', 'Product added to cart successfully!');
;}
if(isset($cart[$id])&&($cart[$id]['size']!==$request->productSize)) {
$cart = [
$id => [
"name" => $product->productName,
"price" => $product->productPrice,
"size" => $request->productSize,
"quantity" => $request->productQuantity,
"photo" => $product->productImage
]
];
session()->put('cart', $cart);
return redirect()->back()->with('success', 'Product added to cart successfully!');
;}
当我添加条件时,它显示它实际上是真的,但即使它有不同的大小,它也只是取代了第一个产品
if(isset($cart[$id])&&($cart[$id]['size']==$request->productSize)) {
$cart[$id]['quantity'] += $request->productQuantity;
session()->put('cart', $cart);
return redirect()->back()->with('success', 'Product added to cart successfully!');
;}
if(isset($cart[$id])&&($cart[$id]['size']!==$request->productSize)) {
$cart = [
$id => [
"name" => $product->productName,
"price" => $product->productPrice,
"size" => $request->productSize,
"quantity" => $request->productQuantity,
"photo" => $product->productImage
]
];
session()->put('cart', $cart);
return redirect()->back()->with('success', 'Product added to cart successfully!');
;}
预期结果是在结账前在购物车中显示两个或多个具有相同id但大小不同的相同产品。您必须在
$cart
中添加一个额外维度,并在结账时对其进行反向工程。您的建议将始终覆盖具有相同id的产品信息。cart[][$id][…]
。否则,如果您将产品尺寸视为2个完全独立的产品并从中解出来,而不需要额外的阵列尺寸的复杂性,则会更容易。特别是当用户添加或细分购物车中已有产品的数量时。它起作用了我将产品的大小添加到$cart中,并修复了问题谢谢!!您必须在$cart
中添加一个额外维度,并在结账时对其进行反向工程。您的建议将始终覆盖具有相同id的产品信息。cart[][$id][…]
。否则,如果您将产品尺寸视为2个完全独立的产品并从中解出来,而不需要额外的阵列尺寸的复杂性,则会更容易。特别是当用户添加或细分购物车中已有产品的数量时。它起作用了我将产品的大小添加到$cart中,并修复了问题谢谢!!