irongomme/extended-paginator

此包的最新版本(dev-master)没有提供许可证信息。

扩展 CakePHP 的 Paginator 组件插件

安装: 0

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 0

开放问题: 0

类型:cakephp-plugin

dev-master 2017-06-08 13:45 UTC

This package is not auto-updated.

Last update: 2024-09-20 19:37:22 UTC


README

一个简单的插件,用于扩展 CakePHP 3 Paginator 组件,带有自定义和额外的 queryParams。

安装

您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方法是

composer require irongomme/ExtendedPaginator

然后在您的应用程序中加载它

./bin/cake plugin load ExtendedPaginator

并在您的控制器中配置它

public function initialize()
{
    parent::initialize();

    $this->loadComponent('Paginator', [
        'className' => 'ExtendedPaginator.ExtendedPaginator'
    ]);
}

可用选项

分页模型字段选择

  • queryParam = fields
  • values = 以逗号分隔的字段

例如:http://myapp/articles?limit=100&fields=title,content

将输出

{
    results: [
        {
            id: 1,
            title: "Lorem Ipsum",
            content: "Lorem Ipsum Lorem Ipsum Lorem Ipsum ..."
        },
        {
            ...
        }
    ]
}

使用单个 queryParam 进行唯一排序和多重排序

  • queryParam = sort
  • values = 以逗号分隔的字段,前缀为 - 表示降序

例如:http://myapp/articles?limit=100&sort=title,-author_id

将按标题升序排序,然后按 author_id 降序排序。

包含关联模型

  • queryParam = contain
  • values = 以逗号分隔的模型,其中可选字段选择,通过将 [field1,field2,...] 压缩到模型名称

例如:http://myapp/articles?limit=100&contain=authors[firstname,lastname] 例如:http://myapp/articles?limit=100&contain=authors,category[name]

如果没有指定字段,则将显示所有字段。