我正在尝试在我的laravel应用中构建搜索功能。我想搜索与我的循环的数据透视表相关的标记的名称。但是我收到错误'未定义的变量:query'
这是我的控制器方法:
public function search($query) {
$searchResult = Loop::whereHas('tags', function ($q) {
$q->where('name', 'LIKE', '%'. $query .'%');
})->get();
return Response::json($searchResult);
}
答案 0 :(得分:4)
您应该将$query
变量传递到use()
的闭包中,如下所示:
$searchResult = Loop::whereHas('tags', function ($q) use ($query) {
$q->where('name', 'LIKE', '%'. $query .'%');
})->get();