Если вы пытаетесь получить ключ из запроса, в идеале вам не следует использовать $ _GET o $ _POST.
public function getData(Request $request){
$key = $request->key;
$records = DB::table('users')
->leftJoin('products', 'users.id', '=', 'products.p_id')
->groupBy('users.id','users.upper_p_id','users.key')
->where('users.key', 'LIKE', '%'.$key.'%')
->select('users.id','users.upper_p_id','users.key')
->get();
return response()->json($records, 200);
}
Однако, если переменная key
является переменной javascript, вы не сможете напрямуюиспользовать в контроллере.Вам нужно как-то передать его в параметре маршрута или с помощью ajax-запроса.
Во-вторых, если вы можете добавить условное when
, что, если $ key присутствует, тогда используйте только предложение where:
public function getData(Request $request){
$key = $request->key;
$records = DB::table('users')
->leftJoin('products', 'users.id', '=', 'products.p_id')
->groupBy('users.id','users.upper_p_id','users.key')
->when($key, function($q) use($key){
return $q->where('users.key', 'LIKE', '%'.$key.'%');
})
->select('users.id','users.upper_p_id','users.key')
->get();
return response()->json($records, 200);
}