语法错误,意外的“紧凑”(T_STRING),预期为“,”或“)”

时间:2019-08-01 06:14:08

标签: laravel eloquent laravel-5.8

我正在尝试在创建产品页面上获取所有类别,但是它说:

  

语法错误,意外的“紧凑”(T_STRING),期望为“,”或“)”

控制器:

  public function index(Request $request)
  {
      $categories = Category::distinct()->get();
      return view('admin.product.index' compact('categories'));
  }

刀片:

  <div class="form-group">
       <select class="form-control" name="category_id">
          <option selected="">Under Category</option>
          @foreach(categories as category)
             <option value="{{ $category->id }}">{{ $category->name }}</option>
          @endforeach
       </select>
  </div>

错误: enter image description here

3 个答案:

答案 0 :(得分:4)

您忘记了compact之前的逗号:

return view('admin.product.index', compact('categories'));

在您看来,您已经忘记了$号:

@foreach($categories as $category)

答案 1 :(得分:0)

您也可以使用

$arr_view_data = []; $arr_view_data['categories'] = $categories; return view('admin.product.index',$arr_view_data);

答案 2 :(得分:0)

我在您的代码上发现了两个错误,一个在控制器内部,另一个在视图中。 也许您忘了在逗号之间加上逗号,所以应该像

 return view('admin.product.index', compact('categories'));

在视图中,循环不正确,也许您错过了$符号。应该是

@foreach($categories as $category)