Перенаправление с контроллера на именованный маршрут с данными в laravel

Я попытаюсь объяснить свою проблему:

  • У меня есть именованный маршрут под названием «form.index», где я показываю html-форму.
  • В FormController я получаю все данные формы.
  • После некоторых действий с этими данными я хочу перенаправить на другой именованный маршрут «form.matches» с некоторой коллекцией элементов.

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'));
}

Эта проблема:

Когда происходит перенаправление функции соответствия, я получаю сообщение об ошибке «Неопределенная переменная: список» в функции совпадений.

public function matches($list)?
Loek 08.04.2019 13:20

Решение stackoverflow.com/a/39916324/10182897 уже доступно, я думаю, вы можете проверить

Ashish 08.04.2019 13:22

Возможный дубликат Перенаправить и передать данные от контроллера

Ashish 08.04.2019 13:22

@Ashish Я уже пробовал это решение, но оно у меня не сработало.

Alvaro_SE 08.04.2019 13:37

@Alvaro_SE попробуйте использовать для этого сеанс.

Ashish 08.04.2019 13:37

Извините, @Ashish, это работает! Я пытался получить переменную, которой не было. Я тупой, мне очень жаль. Все утро потеряно из-за ошибки имени.

Alvaro_SE 08.04.2019 13:50

@Alvaro_SE вы можете давать баллы Другим

Ashish 08.04.2019 13:51
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
7
472
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете использовать Redirect::route() для перенаправления на именованный маршрут и передачи массива параметров в качестве второго аргумента.

Redirect::route('route.name',array('param1' => $param1,'param2' => $param2));

Надеюсь, это поможет вам.

И тогда как мне получить коллекцию в функции match()?

Alvaro_SE 08.04.2019 13:37
Ответ принят как подходящий
 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

Другие вопросы по теме