我有自定义数组,如:
[business] => Array
(
[55] => Array
(
[id] => 1
[name] => abc
[contact] => 1325467897
),
[96] => Array
(
[id] => 5
[name] => xyz
[contact] => 9876543210
)
)
此数组派生自条件(if-else)多个查询。所以,我只想在数组上添加分页。有人可以建议我如何使用CakePHP 3的标准分页器在这种类型的数组上添加自定义分页。
答案 0 :(得分:-2)
PaginatorComponent可以采用Cake\ORM\Query
作为分页的东西,所以我建议将编译后的查询对象传递给分页器。
因此,在您的控制器中,您可以执行以下操作。
public function example()
{
$this->paginate = ['limit' => 5];
$query = $this->Examples->find();
if ($something === 'foo') {
$query->where(['foo' => $something]);
}
if ($wtfbbq) {
$query->contain(['Wtfs', 'Barbeques']);
}
$results = $this->paginate($query);
}
这将生成内置分页的Cake\ORM\Query
。然后您可以根据需要调整分页参数by checking the book page on the Paginator。