Laravel-未定义的变量:请求

时间:2019-03-20 05:38:09

标签: laravel get-request undefined-variable

我的http://localhost:8888/VGL/public/category/18?sty=3

dd($request->sty);等于3时

但是我将$request->sty放在whereHas中是

  

未定义变量:请求

public function show(Request $request, $id)
{
    $products = Product::with('features')
        ->whereHas('features', function ($q) {
            return $q->where('id', $request->sty);
        })
        ->where('category_id',17)
        ->get();
}

1 个答案:

答案 0 :(得分:6)

尝试一下

如果要在where closure内使用任何变量,则必须在use($variable)内传递该变量

public function show(Request $request, $id)
{
    $products = Product::with('features')
        ->whereHas('features', function ($q) use($request) {
            return $q->where('id', $request->sty);
        })
        ->where('category_id',17)
        ->get();
}