Cakephp 3.x自定义查询分页

时间:2015-04-14 07:24:54

标签: mysql cakephp pagination cakephp-3.0

我在Cakephp 2.x Custom Query Pagination中使用过。 现在我正在尝试将项目迁移到Cake 3。

Cake 3的手册不再提及Custom Query Pagination, 而且似乎没有调用用于自定义查询分页的模型函数paginate / paginateCount。

有人知道,如果在Cake 3中删除了吗? 如果是这样,我怎样才能在蛋糕3中对自定义查询进行分页?

3 个答案:

答案 0 :(得分:2)

试试这个:

public function index()
{
    $query = $this->Articles->find('popular')->where(['author_id' => 1]);
    $this->set('articles', $this->paginate($query));
}

文档页面:http://book.cakephp.org/3.0/en/controllers/components/pagination.html

答案 1 :(得分:1)

答案 2 :(得分:0)

$bookmarks = TableRegistry::get('Bookmarks');

    $this->paginate['contain'] = [
        'Users' => function (\Cake\ORM\Query $query) {
            return $query->select(['email'])
                         ->where([]);
        }
    ];

    $bookmarks = $this->paginate($bookmarks);