2016-11-26 55 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