需求
在Laravel 登陆立即清空保存的COOKIE数组
实现
# Http/Controllers/Auth/LoginController.php
public function redirectTo()
{
// 设置为登陆成功 session
session()->put('show-login-success', 1);
// 订阅内容
$logs = request()->cookie('subscribe');
if ($logs) {
$subscribe = new Subscribe();
foreach ($logs as $item) {
$subscribe->addSubscribe(Auth::id(), $item);
}
Cookie::queue(Cookie::forget('subscribe'));
}
return session()->pull('rdTo', $this->redirectTo);
}
关键代码 Cookie::queue(Cookie::forget('subscribe'));
Laravel COOKIE 与 SESSION 注意
session(['hit.article' => $value])
会变成数组,取的时候直接可这样取session('hit.article')
但是Cookie::make($name,'hit.article',$value)
取的时候无法取到,因为cookie name中含有点,被解析为了数组。名字中不用点号 或者取的时候将COOKIE名字中点号换成下划线。