Как передать переменную из одного контроллера в другой с помощью Laravel - PullRequest
0 голосов
/ 26 ноября 2018

Для начала пользователь выбирает значение из раскрывающегося списка, в котором выбранное значение сохраняется в переменной с именем $SetNumber, которая находится в ControllerOne.Как только пользователь выбирает из выпадающего списка, как вы можете видеть, действие формы /Update, которое используется для извлечения и перенаправления данных в ControllerTwo

<form method="POST" action="/Update">
    @csrf 
    <select name="Match" id="Match" onchange="this.form.submit()">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
</form> 

ControllerOne содержит переменную empty,которая определяет переменную $SetNumber.ControllerOne:

class ControllerOne extends Controller
{
    public function index()
    {
        $SetNumber = "";
    }


    public function update(Request $request)
    {
         $SetNumber = $request->Match;

         return redirect()->action('ControllerTwo@index', ['SetNumber' => $SetNumber]);
    }   
}



class ControllerTwo extends Controller
{
    public function index()
    {
        echo $SetNumber;

        return view('pages.viewpage')->with('SetNumber', $SetNumber);
    }
}

Проблема заключается в том, что, когда я пытаюсь отобразить $SetNumber в моем контроллере и вернуть его на экран, появляется сообщение об ошибке:

Неопределенная переменная: SetNumber.

как я могу сделать это лучше?

Я новичок в Laravel и Web Dev.

1 Ответ

0 голосов
/ 26 ноября 2018

Параметры, отправленные с помощью функции перенаправления, добавляются в строку запроса сгенерированного URL.Поэтому, если вы хотите получить к ним доступ в функции других контроллеров, вы должны получить значение из объекта запроса.

class ControllerTwo extends Controller
{
    public function index()
    {
        $SetNumber = request()->get('SetNumber');
        return view('pages.spotifyApi')->with('SetNumber', $SetNumber);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...