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

Strapi使用IN过滤器与AND子句查询多对多关联集合的方法

问题原因说明
  • 第一种拼接两个_where数组条件的写法,多对多关联查询的底层是左连接关联表,会要求单条关联行同时匹配title=foo和title=bar,不存在符合该条件的关联行,因此返回0条结果
  • 第二、第三种使用_in操作符的写法,匹配逻辑为OR,只要分类包含foo或者bar就会命中,因此返回仅关联foo、同时关联两个分类的共2条结果
正确实现方案

直接使用针对多值关联字段的_all过滤器即可,该过滤器要求关联字段必须包含所有传入的指定值,才会返回对应条目,符合你需要同时匹配两个分类的需求,查询语句如下:

GET /blogs?categories.title_all[0]=foo&categories.title_all[1]=bar

也可以使用等价写法:

GET /blogs?categories.title_all=foo&categories.title_all=bar

执行上述查询后,只会返回同时关联了foo、bar两个分类的1条blog数据,完全匹配预期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:45:04