Laravel中的查询组合



我正面临着一个问题,我的函数有一个来自前端的数据排序请求。所以我需要在我的查询中添加一些条件。我试过这样做。

$hawker = Hawker_location::withTrashed();
if($request->district){
$hawker->where('district', $request->district);
}
if($request->type){
$hawker->where('type', $request->type);
}
$hawker->paginate($request->sizePerPage);
return response()->json($hawker, Response::HTTP_OK);

但是它没有为查询返回值,也没有错误。如何解决这个问题?

Hawker_location::query()->withTrashed()
->when($request->has('district'), function($query) { $query->where('district', $request->district)})
->when($request->has('type'), function($query) { $query->where('type', $request-> type)})
->paginate($request->sizePerPage ?? 10)

尝试返回分页器本身

return $hawker->paginate($request->input('sizePerPage',50)); 

最新更新