(如何)可以操纵Zend Paginator对象的数据?

时间:2015-03-11 10:04:49

标签: php pagination zend-framework2 zend-paginator apigility

在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对象itselft。

(如何)可以修改Zend\Paginator\Paginator的数据?

1 个答案:

答案 0 :(得分:0)

您可以获取数组并对其进行扩展,然后使用该修改过的数组创建一个新的Paginator对象。

相关问题