Я получаю неопределенную переменную при передаче данных от контроллера к блейду во второй раз.
В Laravel 5.8 у меня есть два действия / метода в MyController.Я должен передать данные с контроллера для просмотра.Первое действие работает нормально (MyController @ action1 -> Blade1), но второе не выполняется (MyController @ action2 -> Blade2).
MyController:
public function action1()
{
...
$varialbe1 = ... // everything set correctly here and got it in blade1
return view('blade1', compact('variable1'));
}
public function action2(Request $request)
{
...
$association = $request->input('association');
return view('blade2', compact('association'));
}
Blade 1
<form method="POST" action="{{ route('route2') }}">
@csrf
<div class="form-group row">
<label for="association" class="col-md-4 col-form-label text-md-right">{{ __('Association') }}</label>
<div class="col-md-6">
<select required="required" id="association" class="form-control" name="association">
<option></option>
@foreach ($variable1 as $key => $val)
<option value="{{ $key }}">{{ $val->id }}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Submit') }}
</button>
</div>
</div>
</form>
Маршрут
Route::post('/route2', 'MyController@action2')->name('route2');
Blade 2 (неопределенная переменная: ассоциация)
{{ $association }}
Я пробовал разные способы получения данных в MyController и разные способы передачи данных в Blade2 (способ, который также хорошо работает с action1), в том числе:
$association = Input::get('association');
return redirect()->to('/route2')->with('association', $association); // where route2 load the view