У меня есть сеанс корзины в laravel, который выглядит следующим образом:
{
"5c10d896edd57": {
"quantity": "3",
"price": "20.0",
"dishId": "39508",
},
"5c10d8b55f34e": {
"quantity": "3",
"price": "389.0",
"dishId": "39510",
}
}
Я хочу обновить количество, если снова добавляется тот же dishId , для этого я написал этот код
$previous_cartData = session('cart');
if(!empty($previous_cartData)){
foreach ($previous_cartData as $key => $p_cart) {
if($p_cart->dishId == $cart->dishId){
$update_cart['quantity']= $p_cart->dishId+$cart->quantity;
$request->session()->put('cart.'.$key, $update_cart);
}else{
$request->session()->put('cart.'.uniqid(), $cart);
}
}
}
Но, к сожалению, он заменяет весь объект следующим образом:
{
"5c10d896edd57": {
"quantity": "4"
},
"5c10d8b55f34e": {
"quantity": "3",
"price": "389.0",
"dishId": "39510",
}
}
Я только хочу обновить количество, не меняя другие ключи