irongomme / extended-paginator
此包的最新版本(dev-master)没有提供许可证信息。
扩展 CakePHP 的 Paginator 组件插件
dev-master
2017-06-08 13:45 UTC
Requires
- cakephp/cakephp: ^3.4
Requires (Dev)
- phpunit/phpunit: ^5.7|^6.0
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]
如果没有指定字段,则将显示所有字段。