Laravel删除/忘记Cookie不工作


Laravel Delete/Forget Cookie not working

如何在Laravel中删除cookies ?

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')));

为什么第一种方法不行,而第二种方法可以…顺便说一句,这与环境无关…只是把它加进去了…

您可以使用我提供的代码来做到这一点,它几乎是相同的,但我知道这种方式对我来说是有效的。但如果你需要内联,这也可以为你工作:

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

我认为应该这样做

尝试这样重定向:

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