【问题标题】:Cakephp 3.x Custom Query PaginationCakephp 3.x 自定义查询分页
【发布时间】:2015-06-19 17:09:58
【问题描述】:

我在 Cakephp 2.x 中使用了自定义查询分页。 现在我正在尝试将一个项目迁移到 Cake 3。

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

有谁知道,如果这是在 Cake 3 中掉落的? 如果是这样,我如何在 cake 3 中使用自定义查询进行分页?

【问题讨论】:

  • 您找到实现此目的的方法了吗?

标签: mysql cakephp pagination cakephp-3.0


【解决方案1】:

【讨论】:

    【解决方案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

    【讨论】:

    • 我相信 OP 在询问如何在运行自定义/原始 SQL 查询时进行分页,而不是在使用框架构建查询时。
    【解决方案3】:
    $bookmarks = TableRegistry::get('Bookmarks');
    
        $this->paginate['contain'] = [
            'Users' => function (\Cake\ORM\Query $query) {
                return $query->select(['email'])
                             ->where([]);
            }
        ];
    
        $bookmarks = $this->paginate($bookmarks);
    

    【讨论】:

      猜你喜欢
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-10
      • 2018-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多