Laravel:Cookie::forget() 不起作用

Ale*_*lex 5 php cookies laravel

我在删除 Laravel 5.6 中的 cookie 时遇到问题。我已经尝试了基于thisthisthisthis question 的各种不同的东西,但它们都不起作用;

1.

return response()
    ->redirectToRoute('home')
    ->withCookie(Cookie::forget('code'))
    ->withCookie(Cookie::forget('email'));
Run Code Online (Sandbox Code Playgroud)

2.

Cookie::queue(Cookie::forget('code'));
Cookie::queue(Cookie::forget('email'));

return redirect('/');
Run Code Online (Sandbox Code Playgroud)

3.

Cookie::queue('code', null, -1);
Cookie::queue('email', null, -1);

return redirect('/');
Run Code Online (Sandbox Code Playgroud)

4.

return redirect('/')
    ->withCookie(cookie('code', '', -1))
    ->withCookie(cookie('email', '', -1));
Run Code Online (Sandbox Code Playgroud)

5.

return response()
    ->redirectToRoute('home')
    ->withCookie(cookie('code', '', -1))
    ->withCookie(cookie('email', '', -1));
Run Code Online (Sandbox Code Playgroud)

3、4、5甚至没有改变cookie的值,原始值仍然保留在cookie中。我不知道我可以尝试哪些其他方法,因此将不胜感激。

Laravel 中一般是这样添加 Cookie 的:

return response()
    ->redirectToRoute($this->handleRedirect($result))
    ->cookie('code', $request->code, $this->duration, null, $this->domain)
    ->cookie('email', $request->email, $this->duration, null, $this->domain);
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 3

根据我询问的人的说法,最终切换到会话而不是 cookie,因为这更容易使用。我现在使用Session::flush()Session::forget('key')来删除必要的数据。