如何在 graphql 查询中使用带有变量的 % 符号

How to use the % sign with a variable in graphql query

我有一个查询,我想通过查看类似于用户将键入的输入变量来过滤结果。

这是我的查询

query MyQuery($domain:String!, $hash:String!) {
  hashtags_hashtags(where: {domain: {_eq: $domain}}, limit: 15, offset: 5, order_by: {hashtag: asc}) {
    hashtag
    responses_languages(where: {language: {_eq: "english"}, hashtag: {_ilike: %$hash%}}) {
      hashtag
      response
    }
  }
}

所以当我在 hasura 控制台中测试 _ilike 过滤器时,它只适用于像这样写的 sting。 “%起司%”。百分号适用于字符串,但是当我尝试对我的变量 $hash 做同样的事情时,它不起作用。如何用变量做_ilike?当然,我把 $hash 放在 _ilike 后面,没有 % 但它没有 return 任何东西。只有当我使用常规字符串而不是变量时它才有效。我应该如何在 Hasura graph Ql 中编写 _ilike + 变量。哦,我的项目在 Javascript.

谢谢

查询 'body' 不适用于任何类型的操作、无串联、无求值、无字符串文字等。

你必须通过 ready, prepared earlier, string 作为变量。

variables: {
  domain: "some domain",
  hash: `%${someHashVariable}%`
}

// in query simply 
// ...  hashtag: {_ilike: $hash}