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

如何过滤订单搜索结果,仅返回含invoice和credit_note单据的订单?

订单过滤解决方案

你的问题出在过滤条件的位置放错了——你把filter放在了关联实体的嵌套配置里,这只会控制返回的documents关联数据哪些被包含,不会筛选出符合条件的订单本身。要过滤订单,得在根层级的filter里通过关联路径来设置条件。

正确的请求数据应该是这样的:

data: {
    filter: [
        {
            type: "any",
            field: "documents",
            filter: [
                {
                    type: "in",
                    field: "documents.documentType.technicalName",
                    value: ["invoice", "credit_note"]
                }
            ]
        }
    ],
    associations: {
        documents: {
            associations: {
                documentType: {} // 仅需关联单据类型,无需在此加过滤
            }
        }
    },
    includes: {
        order: ['orderNumber', 'documents'],
        documentType: ['technicalName']
    }
}

关键说明:

  • 根层级的filter是用来筛选订单实体的,通过any操作符检查订单关联的documents中,是否存在单据类型技术名称匹配指定值的记录。
  • in操作符可以一次性匹配多个目标值,比写多个equals更简洁高效。
  • 关联配置里的filter只负责控制返回的关联数据范围(比如只返回符合条件的单据),但不会过滤主订单列表——这是你之前代码无效的核心原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 04:30:05