0

这是我的控制器代码:

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

这是我的刀片模板代码:

<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 时,它无法正常工作。

4

2 回答 2

2

尝试使用紧凑型。

 $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-03-09T05:09:09.603 回答
1

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

  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.

有关更多信息,您可以在此处阅读文档

于 2019-03-09T05:21:20.970 回答