You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Shopware 6 Admin API限制关联查询结果数量

如何限制Shopware关联查询的结果数量?

在Shopware中查询cms_page并关联分类(categories)等实体时,若想仅获取每个页面关联的前N个实体,不能直接在主Criteria上调用setLimit,否则会限制整个cms_page的查询结果数。

正确的做法是为关联实体单独设置查询条件,有两种实现方式:

方式一:创建独立的子Criteria

为关联的categories创建单独的Criteria实例,指定分页参数(第1页,每页5条),再通过addAssociation的第二个参数传入:

const criteria = new Criteria(this.page, this.limit);
// 为关联分类创建子查询条件,仅取前5个
const categorySubCriteria = new Criteria(1, 5);
criteria.addAssociation('categories', categorySubCriteria);

方式二:链式调用修改关联条件

先添加关联,再通过getAssociation获取该关联的查询条件,单独设置limit:

const criteria = new Criteria(this.page, this.limit);
criteria.addAssociation('categories')
  .getAssociation('categories')
  .setLimit(5);

这两种方式都只会限制categories关联实体的返回数量,不会影响主查询中cms_page的结果条数,实现精准控制关联实体的查询范围。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 23:52:37