У меня есть контроллер, который имеет функцию переадресации:Laravel 5.2.32: флэш-сеанса не работает с переадресацией
public function myControllerMethod()
{
$data = $this->blabla();
return Redirect::to('previousroute')->with('data', $data);
}
Этот previousroute обрабатывается otherControllerMethod() следующим образом:
public function otherControllerMethod()
{
$data = Session::get('data');
return $this->makeView($data);
}
К сожалению, Laravel забывает данные сеанса. Я делал это много раз раньше, и я никогда не видел, если забудьте данные флэш-памяти сеанса после одной переадресации. Что здесь происходит? Я пробовал как добавлять, так и удалять «сетевое» промежуточное ПО, но ничего не работает. Если кто-нибудь знает, почему это случилось, дайте мне знать.
Я испытал подобную проблему пару раз. Можете ли вы проверить, является ли проблема, что вы получаете новый сеанс для каждого запроса? В моем случае проблема была связана с лаком. Лак не обходил печенье до ngnix, который каждый раз становился новым. В этом случае есть несколько способов: настройка настройки лака или добавление специального заголовка, чтобы заставить лак обходить файлы cookie. Надеюсь, это принесет некоторый свет. – jhmilan
Ни один из показанных вами кодов не устанавливает никаких сеансов или флэш-данных. – patricus
patricus - это на самом деле не так. Переадресация() с использованием метода with() выполняет флеш-данные. См. Https://laravel.com/docs/5.2/responses#redirecting-with-flashed-session-data –