【发布时间】:2020-05-23 13:34:33
【问题描述】:
这是我在一个雄辩的模型上分页后的响应Json。
{
"current_page": 1,
"data": [
{
"title": "First Title",
"url": "first-title",
},
{
"title": "Second Title",
"url": "second-title",
}
],
"first_page_url": "http://xyz.local/api/v1/notifications?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://xyz.local/api/v1/notifications?page=1",
"next_page_url": null,
"path": "http://xyz.local/api/v1/notifications",
"per_page": 10,
"prev_page_url": null,
"to": 2,
"total": 2
}
在返回响应之前,我想从每个项目中转换“url”键,所以我使用了转换方法。
$data = $data->getCollection()->transform(function ($item) {
$item->url = 'http://xyz.local/'.$item->url;
return $item;
});
如果我使用此转换并返回数据,虽然每个项目都在转换,但响应中不会返回其他键,例如“current_page”、“next_page_url”。如果我不使用转换,这些额外的键将正常返回。
转型后我得到的回应:
{
[
{
"title": "First Title",
"url": "http://xyz.local/first-title",
},
{
"title": "Second Title",
"url": "http://xyz.local/second-title",
}
]
}
我期望的回应:
{
"current_page": 1,
"data": [
{
"title": "First Title",
"url": "http://xyz.local/first-title",
},
{
"title": "Second Title",
"url": "http://xyz.local/second-title",
}
],
"first_page_url": "http://xyz.local/api/v1/notifications?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://xyz.local/api/v1/notifications?page=1",
"next_page_url": null,
"path": "http://xyz.local/api/v1/notifications",
"per_page": 10,
"prev_page_url": null,
"to": 2,
"total": 2
}
我在这里缺少什么?
【问题讨论】:
标签: laravel eloquent pagination