我已经temp
从控制器传递了一个变量来查看页面。在调试搜索方法时,我正在将数据从数据库获取到变量 temp。当我将此变量传递给查看页面时,它显示错误为
ErrorException (E_ERROR)
Undefined variable: temp (View: C:\xampp\htdocs\laravel\lsapp\resources\views\pages\MySearch.blade.php)
我怀疑错误很可能是由于route
配置引起的,但我不确定。也可能有其他错误。但是将变量从控制器传递到视图页面的过程是相同的,但我也收到了错误消息。
控制器代码块
public function searchDev()
{
return view ( 'pages.MySearch');
}
public function search(Request $request)
{
$UserName = $request->input('MyName');
if($UserName != ""){
$temp = temp::where ( 'NAME', 'LIKE', '%' . $UserName . '%' )->get (['id','NAME','CONTACT','TEMP_ADDRESS']);
if (count ( $temp ) > 0)
{
/*
getting result from database
dump($temp);
return response()->json($temp);
*/
return view('pages.MySearch', [
'temp' => $temp
]);
}
else
{
return view ( 'pages.MySearch')->with('alert-danger', 'Sorry No details found');
}
}
}
查看页面代码块
@foreach($temp as $data)
<tr>
<td> {{$data['NAME']}} </td>
<td> {{$data['CONTACT']}} </td>
<td> {{$data['TEMP_ADDRESS']}} </td>
</tr>
@endforeach
路线代码
Route::get('/MySearch','MyController@searchDev');
Route::post('/MySearch','MyController@search');
错误是一般的,但我无法调试错误是什么导致错误的原因。请帮忙!!!
由于您并不总是将临时变量传递给视图,因此在刀片视图中使用它之前,您必须检查该变量是否存在。在刀片中的任何地方使用它之前检查 $temp 变量是否存在
@if(isset($temp))
@foreach($temp as $data)
<tr>
<td> {{$data['NAME']}} </td>
<td> {{$data['CONTACT']}} </td>
<td> {{$data['TEMP_ADDRESS']}} </td>
</tr>
@endforeach
@endif
或者,您应该在刀片视图的开头检查变量是否存在或为其分配一些默认值,以便页面不会中断。
@php
$temp = isset($temp) ? $temp : [];
@endphp
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句