【发布时间】:2019-11-13 06:26:27
【问题描述】:
第二次将数据从控制器传递到刀片时,我得到了未定义的变量。
在 Laravel 5.8 中,我在 MyController 中有两个动作/方法。我必须将数据从控制器传递到视图。第一个操作正常(MyController@action1 -> Blade1),但第二个操作失败(MyController@action2 -> Blade2)。
我的控制器:
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'));
}
刀片 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
【问题讨论】:
-
试试
dd($request->all())。它转储了什么? -
谢谢@alberto-bottarini 我注意到,
route2没有通过MyController@action2。相反,在验证后总是重定向到home。有吗?我还没找到可能是什么原因。 -
你的 ruote 文件呢?
-
我的路线看起来不错,如下图所示。
标签: redirect laravel-5 controller laravel-blade