如何在 laravel 会话中增加产品数量
how to increment the quantity of a product in laravel session
我的购物车会话是
Array
(
[0] => Array
(
[id] => 123-XXL
[prod_name] => Grey Shirt
[prod_rate] => 2100
[size] => XXL
[qty] => 1
[ind_tot] => 2100
)
[1] => Array
(
[id] => 134-XL
[prod_name] => red_shirt
[prod_rate] => 1800
[size] => XL
[qty] => 1
[ind_tot] => 1800
)
)
现在我尝试将会话的 qty 值增加 1,
我的增量函数是
public function increment(Request $request){
$id = $request->id;
$rate = $request->rate;
$qty = $request->qty;
$ind_tot = $request->ind_tot;
$input = $request->all();
$qty_up = $qty+1;
$ind_tot = $ind_tot+$rate;
if(Session::has('cart_sess')){
$cart = Session::get('cart_sess');
foreach ($cart as $key => $value){
if($cart[$key]['id'] == $id){
$cart = $cart->replace([$cart[$key]['qty'] => $qty_up, $cart[$key]['ind_tot'] => $ind_tot]);
Session::set('cart_sess', $cart);
}
}
}
return response()->json($qty_up, 200);
}
当我控制台时它显示错误为
500 (Internal Server Error)
如何更新 laravel 会话数组中的值。
你可以这样做
public function increment(Request $request){
$id = $request->id;
$rate = $request->rate;
$qty = $request->qty;
$ind_tot = $request->ind_tot;
$input = $request->all();
$qty_up = $qty+1;
$ind_tot = $ind_tot+$rate;
if($request->session()->has('cart_sess')){
$cart = $request->session()->get('cart_sess');
foreach ($cart as $key => $value){
if($cart[$key]['id'] == $id){
$value['qty'] = $qty_up;
$value['ind_tot'] = $ind_tot;
}
}
}
$request->session()->put('cart_sess', $cart);
return response()->json($qty_up, 200);
}
我的购物车会话是
Array
(
[0] => Array
(
[id] => 123-XXL
[prod_name] => Grey Shirt
[prod_rate] => 2100
[size] => XXL
[qty] => 1
[ind_tot] => 2100
)
[1] => Array
(
[id] => 134-XL
[prod_name] => red_shirt
[prod_rate] => 1800
[size] => XL
[qty] => 1
[ind_tot] => 1800
)
)
现在我尝试将会话的 qty 值增加 1,
我的增量函数是
public function increment(Request $request){
$id = $request->id;
$rate = $request->rate;
$qty = $request->qty;
$ind_tot = $request->ind_tot;
$input = $request->all();
$qty_up = $qty+1;
$ind_tot = $ind_tot+$rate;
if(Session::has('cart_sess')){
$cart = Session::get('cart_sess');
foreach ($cart as $key => $value){
if($cart[$key]['id'] == $id){
$cart = $cart->replace([$cart[$key]['qty'] => $qty_up, $cart[$key]['ind_tot'] => $ind_tot]);
Session::set('cart_sess', $cart);
}
}
}
return response()->json($qty_up, 200);
}
当我控制台时它显示错误为
500 (Internal Server Error)
如何更新 laravel 会话数组中的值。
你可以这样做
public function increment(Request $request){
$id = $request->id;
$rate = $request->rate;
$qty = $request->qty;
$ind_tot = $request->ind_tot;
$input = $request->all();
$qty_up = $qty+1;
$ind_tot = $ind_tot+$rate;
if($request->session()->has('cart_sess')){
$cart = $request->session()->get('cart_sess');
foreach ($cart as $key => $value){
if($cart[$key]['id'] == $id){
$value['qty'] = $qty_up;
$value['ind_tot'] = $ind_tot;
}
}
}
$request->session()->put('cart_sess', $cart);
return response()->json($qty_up, 200);
}