Я попытаюсь объяснить свою проблему:
URL-адреса
form.index -> websiteexample/form
form.matches -> websiteexample/matches
Контроллер форм
public function match(FormularioRequest $request)
{
// Some stuffs
$list = /*Collection*/;
return redirect()->route('form.matches')->with(compact('list'));
}
public function matches()
{
// How to retrieve $list var here?
return view('form.views.matches')->with(compact('list'));
}
Эта проблема:
Когда происходит перенаправление функции соответствия, я получаю сообщение об ошибке «Неопределенная переменная: список» в функции совпадений.
Решение stackoverflow.com/a/39916324/10182897 уже доступно, я думаю, вы можете проверить
Возможный дубликат Перенаправить и передать данные от контроллера
@Ashish Я уже пробовал это решение, но оно у меня не сработало.
@Alvaro_SE попробуйте использовать для этого сеанс.
Извините, @Ashish, это работает! Я пытался получить переменную, которой не было. Я тупой, мне очень жаль. Все утро потеряно из-за ошибки имени.
@Alvaro_SE вы можете давать баллы Другим
Вы можете использовать Redirect::route() для перенаправления на именованный маршрут и передачи массива параметров в качестве второго аргумента.
Redirect::route('route.name',array('param1' => $param1,'param2' => $param2));
Надеюсь, это поможет вам.
И тогда как мне получить коллекцию в функции match()?
public function match(Request $request)
{
// Operations
$list = //Data Collection;
return redirect()->route('form.matches')->with('list',$list);
}
In view
@if (Session::has('list'))
<div>
{!!Session::get('list')!!}
</div>
@endif
public function matches($list)
?