Laravel Session не обновляет значение ассоциативного массива

Я обновляю текущее значение массива сеанса, но оно не обновляется.

Сценарий: мой контроллер вызывается по запросу ajax и затем передает qty, цену продукта. На моей странице корзины есть кнопка увеличения и уменьшения количества. Вызов Ajax выполняется по нажатию кнопки увеличения или уменьшения. . При каждом увеличении или уменьшении qty ajax-запроса выполняется. Если мы добавим более двух продуктов в корзину, то значение сеанса не будет обновлено.

Например, если пользователь обновляет количество первого продукта, все обновляется правильно в сеансе, но если мы обновляем второе количество продукта, то количество первого продукта будет таким же, как было изначально, и количество второго продукта обновляется.

Таким образом, значение сеанса не сохраняется.

Ниже код

публичная функция updateCart (запрос $ request) {

  $data = $request->input(); //to get the post data from ajax

$order        = $request->session()->get('order');
$orderDetails = $request->session()->get('order_detail');


$order['grand_total']=$data['grandtotal'];

//$request->session()->push($orderDetails[$data['productId']]['product_quantity'], $data['qty']);

$orderDetails[$data['productId']]['product_quantity']=$data['qty'];

$orderDetails[$data['productId']]['total_product_price'] = $data['totalProductPrice'];

$request->session()->put('order', $order);
$request->session()->put('order_detail', $orderDetails);



$order        = $request->session()->get('order');
$orderDetails = $request->session()->get('order_detail');

;
echo "<pre>"; print_r($orderDetails);  exit;

return response()->json(['status' => 'success', 'response' => true,'data'=>'Logs written successfully']);


}

Ниже моя структура массива

Array
(
[cf9e57dc-6923-d774-f61f-40022a82e07b] => Array
(
[product_name] => EGG
[product_id] => cf9e57dc-6923-d774-f61f-40022a82e07b
[product_quantity] => 1
[product_description] =>
[price] => 30
[preparation_time] => 00:05:00
[company_id] => 897e4562-03b5-9259-5e65-fa525dc4258d
[store_id] => 8754f65d-3e25-bfcd-5b82-7b7d76b3fc2c
[delivery_date] => 2018-12-19
[total_product_price] => 30
)

[bfcb777b-acbf-c4d4-aa1f-1cbe57c6e880] => Array
(
[product_name] => burger
[product_id] => bfcb777b-acbf-c4d4-aa1f-1cbe57c6e880
[product_quantity] => 3
[product_description] =>
[price] => 20
[preparation_time] => 00:10:00
[company_id] => 897e4562-03b5-9259-5e65-fa525dc4258d
[store_id] => 8754f65d-3e25-bfcd-5b82-7b7d76b3fc2c
[delivery_date] => 2018-12-19
[total_product_price] => 60
)

)

Ниже мой код Ajax

функция updateCart (кол-во, productId, totalProductPrice, grandtotal) {

   var url= $('#baseUrl').val()+"/updateCart";

$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $("input[name=_token]").val()
}
});

$.ajax({
url: url,
data: {'qty': qty, 'productId':productId, 'totalProductPrice':totalProductPrice,
'grandtotal':grandtotal  },
type: 'POST',
datatype: 'JSON',

success: function (response) {
if (response.status === 'success') {
console.log(response.data);
//$('#myModalCallback').modal('toggle');
} else {
//alert('Issue');
}
},
error: function (response) {
$('#errormessage').html(response.message);
}
});


}

Спасибо в Advnace

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector