【问题标题】:Laravel 5.8 Undefined variable while using "With" ClauseLaravel 5.8 使用“With”子句时未定义的变量
【发布时间】:2019-07-31 03:10:49
【问题描述】:

这是我的控制器代码:

$exam_categories = ExamCategory::all();
return view('test.test-home')->withExamCategories($exam_categories);

这是我的 blade 模板代码:

<select class="custom-select form-control-lg exam-category" id="exam-category" style="font-weight: bold">
     <option selected>Select</option>
     @foreach($exam_categories as $examCategory)
          <option value="{{$examCategory->id}}">{{$examCategory->Category}}</option>
     @endforeach
</select>

如果我运行此代码,则会显示以下错误

未定义变量:exam_categories(查看:/var/www/myproj/resources/views/test/test-home.blade.php)

在 laravel 5.4 版本中运行良好,但是当我更新到 laravel 5.8 时,它无法运行。

【问题讨论】:

    标签: laravel laravel-5.8


    【解决方案1】:

    这是将数据传递给视图的 2 种方法:

    1. $exam_categories = ExamCategory::all();
      return view('test.test-home')->with('exam_categories',$exam_categories);
      
    2. $exam_categories = ExamCategory::all();
      return view('test.test-home',['exam_categories',$exam_categories]);
      

    现在您可以使用$exam_categories 轻松访问视图中的变量。

    更多信息可以阅读文档here

    【讨论】:

      【解决方案2】:

      尝试使用 compact。

       $exam_categories = ExamCategory::all();
          return view('test.test-home', compact('exam_categories'));
      

       $exam_categories = ExamCategory::all();
          return view('test.test-home')->with(['exam_categories' => $exam_categories]);
      

      【讨论】:

        猜你喜欢
        • 2019-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-15
        • 1970-01-01
        • 2018-06-10
        • 2020-11-04
        • 2020-04-22
        相关资源
        最近更新 更多