Laravel 查询生成器未使用 get 方法中的变量
Laravel query builder not using variable from get method
我的一个控制器中有这个功能。
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
您在匿名函数中缺少 use
,因此您的查询将是:
$tour = Tour::whereHas('country', function($q) use($country) {
$q->where('name','=', $country);
})
->whereHas('category', function($r) use($category) {
$r->where('name','=', $category);
})
->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
您在匿名函数中缺少 use
,因此您的查询将是:
$tour = Tour::whereHas('country', function($q) use($country) {
$q->where('name','=', $country);
})
->whereHas('category', function($r) use($category) {
$r->where('name','=', $category);
})
->get();