В Zend Framework & Приложение, управляемое Apiglity, которое я использую Zend\Paginator\Paginator
для моей коллекции предметов. Paginator
объект содержит ResultSet
такие плоские структуры данных, как:
{
"project": [
{
"id": "1",
"title": "...",
...
},
...
]
}
Вывод результата после его обработки Hal
REST контроллер плагин / просмотр помощника (ZF\Hal\Plugin\Hal
) выглядит так:
{
"_links": {...},
"_embedded": {
"project": [
{
"id": "1",
"title": "...",
...
},
...
]
},
"page_count": 3,
"page_size": 25,
"total_items": 72
}
Теперь я хочу вложить в него новый уровень, например каждый project
должен содержать список images
, Вывод результата должен выглядеть следующим образом:
{
"_links": {...},
"_embedded": {
"project": [
{
"id": "1",
"title": "...",
"_embedded": {
"images": [
{
"id": "1",
"src": "...",
...
},
...
]
}
},
...
]
},
"page_count": 3,
"page_size": 25,
"total_items": 72
}
Я знаю, как получить array
копия данных и расширить ее. Но я должен вернуть Paginator
объект сам.
(Как может Zend\Paginator\Paginator
данные будут изменены?
Вы можете получить свой массив и расширить его, а затем создать новый объект Paginator с этим измененным массивом.
Других решений пока нет …