Kir*_*chs 3 php pagination json laravel eloquent
我正在使用Laravel 4中的API进行操作,现在当我以JSON格式返回分页信息时,它将以这种特定格式返回:
{
"Photos":{
"total":1,
"per_page":15,
"current_page":1,
"last_page":1,
"from":1,
"to":1,
"data":[
{
"id":3,
"moreInfo":"..."
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
但我希望我的API改为以这种格式返回信息:
{
"total":1,
"per_page":15,
"current_page":1,
"last_page":1,
"from":1,
"to":1,
"Photos":[
{
"id":3,
"moreInfo":"..."
}
]
}
Run Code Online (Sandbox Code Playgroud)
相关代码如下:
if (Input::has('page')) {
$limit = (Input::get('limit')) ? Input::get('limit') : 15;
return Response::json([
'Photos' => $photos->paginate($limit)->toArray()
]);
}
Run Code Online (Sandbox Code Playgroud)
最初,我没有意识到这实际上有多简单,我尝试通过Pagination->getItems()和获取数据Pagination->getCollection()。
我意识到我所要做的就是从分页中获取['data']部分。我的代码现在看起来像:
if (Input::has('page')) {
$limit = (Input::get('limit')) ? Input::get('limit') : 15;
$pagedPhotos = $photos->paginate($limit);
return Response::json([
'total' => $pagedPhotos->getTotal(),
'per_page' => $pagedPhotos->getPerPage(),
'current_page' => $pagedPhotos->getCurrentPage(),
'last_page' => $pagedPhotos->getLastPage(),
'from' => $pagedPhotos->getFrom(),
'to' => $pagedPhotos->getTo(),
'Photos' => $photos->paginate($limit)->toArray()['data']
]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2503 次 |
| 最近记录: |