Laravel cookie ::忘记不起作用?

时间:2014-04-14 14:49:06

标签: php cookies laravel-4

我有这段代码:

Cookie::forget('vendor');
return Redirect::route('vendor_login');

它应该做的是删除供应商cookie并将您重定向到登录页面。但是,它实际上并没有删除cookie。根据我的理解,我希望它为供应商发送一个setcookie标头,其值为null和负时间。它根本不发送setcookie标头。这是为什么?

这非常有效:

Cookie::queue('paddle_vendor', null, -1);
return Redirect::route('vendor_login');

3 个答案:

答案 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         配置文件。 检查出来,你应该很好。