如何分页相关记录?

时间:2017-05-10 19:26:51

标签: cakephp pagination associations query-builder cakephp-3.x

Products belongsToMany CategoriesCategories hasMany Products,在我的Product视图中,我显示了所有类别的列表,但我想分页或限制这些结果。

ProductsController上的当前代码是:

$product = $this->Products
    ->findBySlug($slug_prod)
    ->contain(['Metas', 'Attachments', 'Categories'])
    ->first();

$this->set(compact('product'));

我知道我需要设置$this->paginate()以对某些内容进行分页,但我无法让它对产品中的类别进行分页。我希望你们能理解我。

更新:目前我正在进行此项工作:

$product = $this->Products->findBySlug($slug_prod)->contain([
              'Metas',
              'Attachments',
              'Categories' => [
                'sort' => ['Categories.title' => 'ASC'],
                'queryBuilder' => function ($q) {
                  return $q->order(['Categories.title' => 'ASC'])->limit(6);
                }
              ]
            ])->first();

限制有效,但我不知道如何分页

0 个答案:

没有答案