Cookie ::忘了不工作laravel 5.1

V4n*_*ll4 11 php laravel laravel-5.1

我试图让Laravel 5.1删除我的cookie,但是即使我用我的重定向返回它也不会删除它.

return redirect('/voucher')->withCookie(Cookie::forget($cookie));
Run Code Online (Sandbox Code Playgroud)

我做错了什么吗?

Jan*_*n.J 23

也许我错了,但你可能在调用时使用cookie对象代替cookie名称Cookie::forget($cookie).除非$cookie是包含cookie名称的字符串,否则你应该尝试这样的事情:

return redirect('/voucher')->withCookie(Cookie::forget('cookie_name'));
Run Code Online (Sandbox Code Playgroud)


Rob*_*len 13

我知道这已经是一个陈旧且回答的问题,但我最近到了这里,如果我是正确的,那么cookie需要排队等待下一个回复.

您可以通过手动将cookie添加到响应中来实现,因为@ Jan.J已经在他的回答中进行了描述.但如果您需要内联,这可能也适合您:

Cookie::queue(
    Cookie::forget('cookieName')
);
Run Code Online (Sandbox Code Playgroud)

CookieJar会通过所有排队的cookies到下一个响应.

  • 你救了我的一天.这对我来说是非常不寻常的语法= \ (2认同)

Ged*_*nas 6

在我的情况下array,cookie 中存储了一个,所以提供的方法都没有工作。应该删除数组,提供精确的数组对:

Cookie::queue(Cookie::forget('array_name[provide_key]'));
Run Code Online (Sandbox Code Playgroud)