значение сеанса изменяется после изменения связанной переменной - PullRequest
0 голосов
/ 29 сентября 2019

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

I 'м, используя laravel 5.

А это мой код:

  $oldCart = Session::get('cart');
  foreach($oldCart as  $cartRow):
    foreach($cartRow as $crKey => $row):
      $oldCart->totalPrice -= 2000;
      $oldCart->items[$crKey]['price'] -= 1000;
      endforeach;
  endforeach;

В приведенном выше коде значение «общая цена» в сеансе уменьшается на 1000 при каждом обновлении страницы, но я не знаю »Я не хочу менять значение сеанса.

1 Ответ

0 голосов
/ 29 сентября 2019

Вы работаете со ссылкой, и когда вы изменяете значение, вы также изменяете объект сеанса (и он меняет сеанс).

Попробуйте клонировать объект, прежде чем изменять его.

$oldCart = clone Session::get('cart');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...