将变量从控制器传递到视图页面显示未定义的变量

尼沙林

我已经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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Laravel-如何使用表单将变量从视图传递到控制器

将变量从控制器传递到视图-Laravel

将数据传递给视图-未定义变量

如何将变量从控制器代码传递到fxml视图?

将变量从控制器传递到部分视图导轨

Laravel:变量未从控制器传递到视图

Laravel控制器错误:未定义变量

如何将变量数据从控制器传递到视图(MVC)

控制器中未定义的范围变量

测试Laravel控制器时视图中的未定义变量

将Private变量传递到控制器函数内部的视图

我可以防止Rails将实例变量从控制器传递到视图吗?

将数据传递到确认页面会出现未定义的变量错误

Concrete5 5.7:将变量从控制器传递到视图

角度模板中的变量显示为在控制器中未定义

控制器codeigniter中的未定义变量,但变量仍显示该值

如何将变量从控制器传递到视图

Codeigniter将动态数据从控制器传递到视图。并将值映射到控制器数组变量

Laravel-使用Ajax将2个变量从视图传递到控制器

从指令模板传递到控制器时未定义的 ng-repeat 变量

从控制器到视图的设置数据中的未定义变量

将特定变量从控制器传递到视图

将变量从页面视图控制器传递到另一个

Laravel 启动变量在控制器中未定义

AngularJS 1.7.9 从控制器到组件的绑定变量提供未定义的值

LARAVEL 7,未定义变量,无法将变量从控制器传递到视图

Laravel 未定义变量控制器

如何在laravel中更改时使用javascript将变量从视图传递到控制器

将数据从控制器传递到 Laravel 中查看 - 显示错误消息未定义变量