我有控制器,該控制器將加載視圖部分如何在laravel View中調用方法?
public function homePage(){
$categories = Category::all();
$products = Product::all();
return view('cart.index',compact('categories','products'));
}
這裏是視圖(基本上檢查子類別是否存在,它會顯示否則跳過)
<ul class="list-group list-group-bordered list-group-noicon uppercase">
<li class="list-group-item active">
@foreach($categories as $row)
<a class="dropdown-toggle" href="#">{{$row->name}}</a>
@if({{StapsController::checkSubcategory($row->id)}})
@foreach($subcategories as $sub)
<ul>
<li><a href="#"><span class="size-11 text-muted pull-right">(123)</span> {{$sub->s_name}}</a></li>
</ul>
@endforeach
@else
<li class="list-group-item"><a href="#"><span class="size-11 text-muted pull-right">(189)</span> {{$row->name}}</a></li>
@endif
@endforeach
</li>
</ul>
這裏是checkSubcategory
方法
public function checkSubcategory($id){
$category = Category::find($id);
$id = $category->id;
$subcategories = DB::table ('subcategories')
->join('categories_subcategories','subcategories.id','=','categories_subcategories.subcategory_id')
->join('categories','categories_subcategories.category_id','=','categories.id')
->where('categories.id','=',$id)
->select('subcategories.name as s_name ')
->get();
return $subcategories;
}
但我得到語法在視圖中調用方法的行錯誤? 什麼可能是錯誤..在視圖部分有什麼錯誤調用方法?
'StapsController :: checkSubcategory($ id)'不是一個靜態函數,所以你不能像這樣調用它。 – btl