【发布时间】:2021-12-24 18:27:54
【问题描述】:
您好,我正在尝试将产品添加到购物车,但不会覆盖之前添加到购物车的产品,并且如果两个产品相同,则不会重复,而是将数量增加 1。
以下是我设置购物车并向其中添加产品的方式:
public function addToCart(Request $request)
{
$id = $request->product_id;
$product = Product::find($id);
$request->session()->put('cart', [
[
"id" => $product->id,
"name" => $product->name,
"price" => $product->price,
"image" => $product->image,
"quantity" => 1,],
]);
$cart = $request->session()->only(['cart']);
dd($cart);
return redirect('cart');
}
这就是我从dd得到的
array:1 [▼
"cart" => array:1 [▼
0 => array:5 [▼
"id" => 1
"name" => "name"
"price" => 42.42
"image" => "../image.jpg"
"quantity" => 1
]
]
]
我尝试使用put 或cart[] = [product infos...] 而不是push,但它仍然会覆盖以前的产品
此外,我对如何单独访问存储在我的购物车中的每个产品感到困惑,我可以通过 $request->session()->only(['cart']) 访问整个购物车,但我找不到如何访问该购物车中的产品。
【问题讨论】: