Сессия аннулируется при выходе
Я делаю интернет магазин одежды на ларавел, и вдруг столкнулся со следующей проблемой: При выходе с профиля у меня аннулируется сессия, а соответственно всё, что было в корзине тоже пропадает.
Мне же нужно сделать так, чтобы сессия каждого пользователя при выходе сохранялась, дабы когда он зашёл все товары в корзине были на месте.
Ниже привёл контроллер отвечающий за это.
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\LoginRequest;
use App\Providers\RouteServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
use App\Models\Categorie;
class AuthenticatedSessionController extends Controller
{
/**
* Display the login view.
*
* @return \Illuminate\View\View
*/
public function create()
{
$sessionId = Session::getId();
\Cart::session($sessionId);
$cart = \Cart::getContent();
$sum = \Cart::getTotal('price');
$categoriesAll = Categorie::all();
return view('pet-shop.login-register', compact('categoriesAll', 'cart', 'sum'))->with('Message', 'Вам нужно авторизоваться или зарегестрироваться');
}
/**
* Handle an incoming authentication request.
*
* @param \App\Http\Requests\Auth\LoginRequest $request
* @return \Illuminate\Http\RedirectResponse
*/
public function store(LoginRequest $request)
{
$request->authenticate();
$request->session()->regenerate();
return redirect()->intended(RouteServiceProvider::HOME);
}
/**
* Destroy an authenticated session.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\RedirectResponse
*/
public function destroy(Request $request)
{
Auth::guard('web')->logout();
$request->session()->invalidate();
//
$request->session()->regenerateToken();
return redirect('/');
}
}