我有这段代码:
Cookie::forget('vendor');
return Redirect::route('vendor_login');
它应该做的是删除供应商cookie并将您重定向到登录页面。但是,它实际上并没有删除cookie。根据我的理解,我希望它为供应商发送一个setcookie标头,其值为null和负时间。它根本不发送setcookie标头。这是为什么?
这非常有效:
Cookie::queue('paddle_vendor', null, -1);
return Redirect::route('vendor_login');
答案 0 :(得分:12)
您可以使用queue
这样的方法:
Cookie::queue(Cookie::forget('vendor'));
return Redirect::route('vendor_login');
通过这种方式,您可以同时删除多个Cookie。 有关更多信息,请在此处查看此答案: https://stackoverflow.com/a/33724308/247670
或者这样做,Antonio说:
$cookie = Cookie::forget('vendor');
return Redirect::route('vendor_login')->withCookie($cookie);
答案 1 :(得分:5)
您仍然需要将其与您的回复一起发送:
$cookie = Cookie::forget('vendor');
return Redirect::route('vendor_login')->withCookie($cookie);
答案 2 :(得分:0)
默认的laravel
Cookie::queue(
Cookie::forget('name')
) ;
如果您未进行任何更改,则应该可以正常工作 session.php 配置文件。 检查出来,你应该很好。