Сессии не сохраняется или перезаписывается

Рейтинг: 0Ответов: 0Опубликовано: 19.03.2023

Я храню массив в сессии, типо корзины, проблема заключается в том, что (иногда, если подключен к сети с раздачи мобильного интернета) то при добавлении нового элемента, сессия записывается и сразу же удаляется оставляя предыдущее значение или просто перезаписывается(стираться предыдущие элементы, и остаётся новый).

Как будто меняться пользователи, а иногда все четко работает.
При подключении с домашнего скоростного интернета такого не наблюдается, как только раздашь с телефона постоянные лаги.

Сесcии хранятся в Redis.

Может проблема в Session Sweeping Lottery?
Но менял значения все так же.

Пример правильной работы:

  1. добавить товар "А" = Лежит товар "А";
  2. добавить товар "Б" = Лежит товар "А", "Б";

Пример лага:

  1. добавить товар "А" = Лежит товар "А";
  2. добавить товар "Б" = Лежит товар "Б";
 public function addProductToArraySalesAjaxCustom($request)
 {
    $stok = Stock::find($request->idStok);
    if (!empty($stok->toArray())){

        $array = array(array(
            'id' => $stok->id,
            'name' => $stok->product_view->name,
            'amount' => 1,
            'salePrices' => $stok->product_view->salePrices,
            'purchasePrice' => $stok->purchasePrice,
            'coming' => $stok->coming,
            'outgoing' => $stok->outgoing,
            'remainder' => $stok->coming - $stok->outgoing,
            'sum' => $stok->product_view->salePrices,
            'profit' => number_format($stok->product_view->salePrices - $stok->purchasePrice, 2, '.', ''),
        ));

        if (session()->has('productArraySales')) {
            $newArray = array_merge(unserialize(session('productArraySales')), $array);
            $request->session()->put('productArraySales', serialize($newArray));
        } else {
            $request->session()->put('productArraySales', serialize($array));
        }
    }
}

Ответы

Ответов пока нет.