【发布时间】:2019-09-03 09:58:39
【问题描述】:
这是我的 API 网址:
{{base_url}}all_department ( GET REQUEST )
我的控制器代码:
public function getAllDepartment(Request $request)
{
$pagination=false;
$pageNumber=$pageSize="";
if ($request->has('pageNumber') && $request->has('pageSize')){
$pagination=true;
$pageNumber= $request->pageNumber;
$pageSize= $request->pageSize;
}
try
{
$department = $this->department;
$allDepartment = Department::all();
if ($pagination){
$offset = ($pageNumber - 1) * $pageSize;
$results=$department->offset($offset)->limit($pageSize)->orderBy('department_id','DESC')->get();
}
else{
$results=$department->get();
}
return response(['status' => true, 'message' => 'All Department', 'total' => count($allDepartment), 'data' => $results], 200);
}catch (\Exception $ex) {
return response(['status' => false, 'message' => 'Validation Errors', 'errors' => $ex->getMessage()], 500);
}
}
我的身体要求:
{
"pageNumber": 1,
"pageSize": 3
}
我要做的是在 URL 中发送 pageNumber 和 pageSize,如下所示
{{base_url}}all_department/pageNumber/pageSize
如何在参数而不是正文请求中做到这一点?
【问题讨论】:
-
使 pageNumber 和 pageSize 成为可选参数,方法是在您的路由中指定它,例如 all_departments/{?pageNumber}/{?pageSize} 但是如果您想访问例如特定的像 all_departments/{id} 这样的部门并不是一个可靠的方法。我建议你使用这样的参数:all_departments?pageNumber={pageNumber}&pageSize={pageSize}
标签: php laravel pagination offset query-parameters