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

在GraphiQL中使用ransack传递重复参数,实现多状态排除查询

解决Ransack GraphQL查询中重复输入字段的错误

问题原因

你遇到的错误是因为GraphQL输入对象不允许存在同名字段,重复定义两次status_not_eq违反了GraphQL的输入规则。同时,Ransack处理多值排除场景时,也不该用重复的not_eq,而是要用专门的多值排除语法。

正确查询语句

把重复的status_not_eq替换为status_not_in,传入包含要排除值的数组即可:

{
  invoice(
    q: {id_eq: 7, status_not_in: ["A", "B"]}
  ) {
    status
    paymentStatus
  }
}

补充说明

Ransack针对多值匹配/排除提供了特定后缀:

  • xxx_in: ["值1", "值2"]:匹配字段等于数组中任意值的记录
  • xxx_not_in: ["值1", "值2"]:匹配字段不等于数组中所有值的记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:52:02