【发布时间】:2017-06-10 14:06:50
【问题描述】:
我正在 laravel 5.3 中创建购物车功能。当用户将产品添加到购物车时,它基本上是创建会话并将产品添加到该会话。
让我们从我正在工作的例子开始。
当用户将产品添加到购物车时,我将所需参数传递给控制器函数,然后将其存储在会话中。所以我的控制器功能是:
public function add_cart(Request $request){
$product = [
'sku' => $request['sku'],
'price' => $request['price'],
'quantity' => $request['quantity'],
'brand_id' => $request['brand_id'],
'brand_name' => $request['brand_name'],
'brand_img' => $request['brand_img']
];
// dd($product);
if($request->session()->has('add_to_cart')){
$request->session()->push('add_to_cart', $product);
}else{
$request->session()->push('add_to_cart', $product);
}
return count($request->session()->get('add_to_cart'));
}
所以在将产品添加到 add_to_cart 会话后,我的会话如下所示:
array:2 [▼
0 => array:6 [▼
"sku" => ""
"price" => " "
"quantity" => "1"
"brand_id" => "14"
"brand_name" => "The Body Shop"
"brand_img" => "http://s3.giftcardsindia.in/2015/06/01/original-556c623c560f5.jpg"
]
1 => array:6 [▼
"sku" => "ffs002000"
"price" => "2000"
"quantity" => "1"
"brand_id" => "47"
"brand_name" => "The Four Fountains Spa"
"brand_img" => "http://s3.giftcardsindia.in/2015/06/01/original-556c47b5a27eb.jpg"
]
]
使用它,我可以在购物车页面中显示所有购物车产品,还可以使用小计、税金和支付总额功能。
现在的问题是,如果我想更新 brand_id : 14 的数量,我如何从 brand_id 为 14 的会话中获取产品数组?在获得该产品数组后,如何仅更新该数组中的数量值?或者我们可以用新的产品阵列替换整个产品阵列,但是如何从会话中找到该产品阵列?
不知道。我搜索 laravel 文档,但没有找到任何方法来解决我的问题。
【问题讨论】:
标签: php arrays session laravel-5 laravel-5.3