首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有方法将复杂的条件定义为变量?

是否有方法将复杂的条件定义为变量?
EN

Stack Overflow用户
提问于 2020-11-17 14:04:10
回答 1查看 264关注 0票数 0

我已经创建了一个GraphQL查询,该查询的条件非常复杂,但是在阿波罗GraphQL iOS客户机中,编译该项目后无法更改查询。阿波罗GraphQL iOS客户端使您有机会更改查询中定义的变量,而不是查询本身。

我原来的灯塔GraphQL查询如下;

代码语言:javascript
运行
复制
query ($first:Int, $page:Int) {
    my_listings(
        where: {
            AND: [
                { column: NET_AREA, operator: GTE, value: 200 }
            ]
        }
        orderBy: [
            { column: ID, order: ASC }
            ]
        first: $first
        page: $page
    ) {
        data {
            ...listingFields
        }
        paginatorInfo {
            currentPage
            lastPage
        }
    }
}

修改后的灯塔GraphQL查询就是这样,只添加了$conditions变量,这是MyListingsWhereWhereConditions类型。

代码语言:javascript
运行
复制
query($first: Int, $page: Int, $conditions:MyListingsWhereWhereConditions) {
  my_listings(
    where: $conditions
    orderBy: [{ column: ID, order: ASC }]
    first: $first
    page: $page
  ) {
    data {
      ...listingFields
    }
    paginatorInfo {
      currentPage
      lastPage
    }
  }
}

当我将以下变量分配到第二个查询时,灯塔服务器将返回以下消息

代码语言:javascript
运行
复制
{
  "first": 1,
  "page": 1,
  "conditions": {"AND": {"column": "PRICE", "operator": "LTE","value": "190"}}
}

错误信息

代码语言:javascript
运行
复制
Variable \"$conditions\" got invalid value {\"AND\":{\"column\":\"PRICE\",\"operator\":\"LTE\",\"value\":\"190\"}}; Expected type MyListingsWhereWhereConditions to be an object at value.AND.column.

有办法在变量中给出这些条件吗?没有它,我就找不到一种方法来改变iOS客户端的位置条件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-17 19:15:43

"AND“应该包含对象数组,而不是对象。

代码语言:javascript
运行
复制
"conditions": {"AND": [{"column": "PRICE", "operator": "LTE","value": "190"}}]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64876804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档