4

我有自定义数组,如:

[business] => Array
(
    [55] => Array
    (
        [id] => 1
        [name] => abc
        [contact] => 1325467897
    ),
    [96] => Array
    (
        [id] => 5
        [name] => xyz
        [contact] => 9876543210
    )

)

该数组派生自条件(if-else)多个查询。所以,我只想在数组上添加分页。有人可以建议我如何使用 CakePHP 3 的标准分页器在这种类型的数组上添加自定义分页。

4

1 回答 1

-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内置分页的。然后您可以通过检查 Paginator 上的书页来调整您认为合适的分页参数。

于 2016-07-19T11:23:10.203 回答