Cookie:: забудьте не работать laravel 5.1
Я пытаюсь заставить Laravel 5.1 удалить мой cookie, однако он не будет удаляться, даже если я возвращаю его с моим перенаправлением.
return redirect('/voucher')->withCookie(Cookie::forget($cookie));
Я сделал что-то неправильно?
3 ответов
возможно, я ошибаюсь, но вы, вероятно, используете объект cookie вместо имени cookie при вызове Cookie::forget($cookie)
. Если $cookie
- это строка, содержащая имя cookie, вы должны попробовать что-то вроде этого:
return redirect('/voucher')->withCookie(Cookie::forget('cookie_name'));
Я знаю, что это уже старый и отвеченный вопрос, но я недавно попал сюда, и если я прав, cookie должен быть "в очереди" для следующего ответа.
вы можете сделать это, добавив cookie вручную в ответ как @Jan.J уже описан в его ответе. Но если вам нужно сделать это inline, это также может сработать для вас:
Cookie::queue(
Cookie::forget('cookieName')
);
на CookieJar
передаст все куки в очереди к следующему ответу.
в моем случае было array
хранится в файле cookie, поэтому ни один из предоставленных методов не работал. Массив следует удалить, предоставив ровно пару массивов:
Cookie::queue(Cookie::forget('array_name[provide_key]'));