Сброс всех переменных сеанса при сохранении пользователя в системе - Laravel 5 - PullRequest
1 голос
/ 08 апреля 2019

Как я могу держать пользователя вошедшим в систему при попытке уничтожить сеанс корзины, когда он завершает заказ?

Я пытаюсь сбросить сеанс корзины, когда пользователь завершает заказ на моем сайте, когдазаказ завершен, пользователь перенаправлен, но элементы в его корзине все еще есть, есть ли способ их удалить и оставить пользователя в системе?

Я сохраняю свою сессию так, как сейчас

$cart = session()->get('cart');

        // if cart is empty then this will be the first product
        if (!$cart) {


            $cart = [
                $id => [
                    "id" => $product->id,
                    "name" => $product->name,
                    "quantity" => 1,
                    "price" => $product->unit_price
                ]
            ];

            session()->put('cart', $cart);

            return redirect()->back()->with('success', 'Product added to cart successfully!');
        }

И пытаюсь удалить его вот так

$cart = session()->get('cart');


            if (isset($cart[$request->id])) {

                unset($cart[$request->id]);

                session()->put('cart', $cart);
            }

            session()->flash('success', 'Order Fulfilled');


        return redirect("/");

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Когда я обновляю свою функцию обновления ниже, сеанс перезапускается

        $request->session()->forget('cart');

        $cart = session()->get('cart');

        if (!$cart) {
            session()->put('cart', []);
        }

        return redirect("/");
1 голос
/ 08 апреля 2019

Если вы используете $request->session()->flush();, тогда он очистит или уничтожит все ваши данные.

Попробуйте использовать $request->session()->forget('key');.Просто передайте ключ в методе забыть.Который удалит только данные сеанса, принадлежащие этому ключу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...