Laravel — Неопределенная переменная: запрос

#laravel #get-request #undefined-variable

#ларавель #get-запрос #неопределенная переменная #laravel

Вопрос:

Мой 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:

Попробуйте это

Если вы хотите использовать какую-либо переменную внутри 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();
}
  

Комментарии:

1. Спасибо, я забыл ввести в функцию запроса

2. Рад вам помочь. вы можете принять в качестве ответа, если хотите. таким образом, другие разработчики легко находят ответ