Laravel删除/忘记Cookie不起作用

时间:2016-10-03 20:43:26

标签: php laravel cookies laravel-5.3

如何删除Laravel中的cookie。这不起作用:

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()无关......只是在那里添加...

2 个答案:

答案 0 :(得分:0)

你可以使用我提供的代码来实现这一点,它几乎是一样的,但我知道这种做法对我有用。但如果您需要内联,这可能对您有用:

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

我认为应该这样做。

答案 1 :(得分:0)

尝试重定向:

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