【发布时间】:2019-11-23 19:13:02
【问题描述】:
使用 laravel 分页从数据库中获取下一组结果时遇到问题。 从这条路线我的结果看起来像这样:api/getMerchants
{
"merchants": {
"current_page": 1,
"data": [], // contains some data
"first_page_url": "/?page=1",
"from": null,
"next_page_url": "/?page=2",
"path": "/",
"per_page": 15,
"prev_page_url": null,
"to": null
}
}
现在,当我尝试通过调用 api/getMerchants 路由并将下一页 url 值附加到它来获取下一组结果时,我得到了相同的结果集,但这次只有 current_page 值更改为 2并且 next_page_url 变为 3。最终的 url 如下所示:
api/getMerchants/?page=2
我做错了什么?我如何获得下一组结果,当我尝试使用邮递员时,我也会得到同样的结果。
这是我的控制器:
public function getMerchants(Request $request){
//get all registered companies
$getmerchants = DB::table('merchants')
->join('joint_companies', 'joint_companies.id', '=', 'super_id')
->join('company_admin', 'company_admin.id', '=', 'admin_id')
->select('merchants.*','company_admin.name AS admin_name','joint_companies.name AS exec_name')
->get();
//clean data
$merchantsdata = [];
$merchants = $getmerchants->map(function($items){
$merchantsdata['id'] = $items->id;
$merchantsdata['merchant_name'] = Crypt::decryptString($items->merchant_name);
$merchantsdata['status'] = $items->status;
$merchantsdata['country'] = $items->country;
$merchantsdata['logo'] = $items->logo;
return $merchantsdata;
});
$objects = new Paginator($merchants, 15);
$response = [
'merchants' => $objects
];
return response()->json($response, 200);
}
【问题讨论】:
-
您的
laravel实现似乎有错误,您应该发布您的eloquant和controller以获得帮助。 -
@Yanis-git 我刚刚编辑了问题以显示我的控制器
-
希望你能找到这个:youtu.be/VnEgCk-MlN4
标签: angular laravel eloquent pagination