2016-11-26 57 views
3

我在我的控制器之一中有此功能。Laravel查詢生成器不使用變量get方法

public function tourList($country, $category) 
{ 
    $tour = Tour::whereHas('country', function($q) { 
        $q->where('name','=', $country); 
       }) 
       ->whereHas('category', function($r) { 
        $r->where('name','=', $category); 
       }) 
       ->get(); 

    return view('tour-list.blade.php')->withTour('$tour'); 
} 

雖然從get方法中傳遞了兩個變量。但我得到的

Undefined variable: country 
+0

告訴我@zacharyDale – PassionInfinite

+0

路由的路由路徑::得到('tour/{country}/{categpry}',['as'=>'tour.list','uses'=>'PublicController @ tourList']); –

+0

這是我的路線 –

回答

3

錯誤你缺少匿名函數use所以您的查詢預訂購是因爲:

$tour = Tour::whereHas('country', function($q) use($country) { 
       $q->where('name','=', $country); 
      }) 
      ->whereHas('category', function($r) use($category) { 
       $r->where('name','=', $category); 
      }) 
      ->get(); 

Docs