Laravel Удалить / забыть cookie не работает

#php #laravel #cookies #laravel-5.3

#php #laravel #файлы cookie #laravel-5.3

Вопрос:

Как удалить файлы cookie в Laravel. Это не работает:

 public function logout(Request $request)
{

    $this->guard()->logout();

    $request->session()->flush();

    $request->session()->regenerate();

    Cookie::queue(Cookie::forget('cavpad'));
    Cookie::queue(Cookie::forget('cavuser'));

    return redirect('/');
  

}

Это работает, но кажется неправильным способом сделать это:

 Cookie::queue(Cookie::make('cavpad', '', 0, null, env('APP_DOMAIN')));
Cookie::queue(Cookie::make('cavuser', '', 0, null, env('APP_DOMAIN')));
  

Почему первый способ не работает, но второй способ работает … кстати, не имеет ничего общего с env() … Просто добавил это туда…

Комментарии:

1. Он должен быть Cookie::forget() внутри Cookie::queue()

2. Какой у вас драйвер для файлов cookie?

Ответ №1:

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

 Cookie::queue(
    Cookie::forget('cookieName')
);
  

Вот как я думаю, это должно быть сделано.

Ответ №2:

Попробуйте перенаправить следующим образом:

 return redirect('/')->withCookie(Cookie::forget('cavpad'))->withCookie(Cookie::forget('cavuser'));