我进行了搜索,希望显示结果,但是无法将变量传达给视图, 尽管我在控制器中指定了它。
我的视角代码:
<div class="search col-md-6">
<p>
Найти сотрудника по id
</p>
<form action="{{route('searchID')}}" class="search-id" method="GET">
<div class="row">
<div class="col-xs-10">
<div class="form-group">
<input class="form-control" name="id" required="" type="text" value="{{ old('id') }}">
</input>
</div>
</div>
<div class="col-xs-2">
<div class="form-group">
<input class="btn btn-info" type="submit" value="Искать">
</input>
</div>
</div>
</div>
{{$result}}
</form>
<div>
</div>
</div>
我的路线:
Route::match(['get', 'post'], 'searchID', 'SearchController@indexID')->name('searchID');
我在控制器中的方法:
public function indexID(Request $request, View $view)
{
//$message= "Сотрудник не найден";
$id = $request->input('id');
dump($id);
$result = Staff::where('public_id', $id)->get();
if ($result == null) {
//dump($message);
return redirect()->back()->withInput($id);
} else {
dump($result);
return view('addworker')->with('result', $result);
}
}
但是我不断收到错误消息:未定义的变量:结果
我尝试过:
return view('addworker')->with($result);
和
return view('addworker',$result);
和
return view('addworker', ['result', $result]);
这些都没有帮助我,我不知道该怎么办
如何仅在处理完控制器后使模板访问此变量?
答案 0 :(得分:3)
答案 1 :(得分:2)
希望这对您有帮助
return view('addworker', ['result' => $result]);
答案 2 :(得分:1)
您使用了错误的语法将变量发送到视图,很多方法可以做到这一点:
您可以使用compact函数:
return view('addworker', compact('result'));
您可以使用with()方法:
return view('addworker')->with('result', $result);
或者:
return view('addworker', ['result' => $result]);
您还可以查看官方文档:click here