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

Mys*_*Man 1 javascript graphql hasura

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

这是我的查询

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
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

因此,当我在 hasura 控制台中测试_ilike过滤器时,它仅适用于像这样写的刺痛。“%起司%”。百分号与字符串配合得很好,但是当我尝试用我的变量$hash做同样的事情时,它不起作用。如何用变量做_ilike?当然,我把 $hash 放在 _ilike 之后,没有 % 但它没有返回任何东西。它仅在我使用常规字符串而不是变量时才有效。我想如何在 Hasura 图 Ql 中编写 _ilike + 变量。哦,我的项目是在 Javascript 中。

谢谢

xad*_*adm 5

查询“body”不适用于任何类型的操作,没有连接,没有评估,没有字符串文字等。

您必须将准备好、提前准备好的字符串作为变量传递。

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

// in query simply 
// ...  hashtag: {_ilike: $hash}
Run Code Online (Sandbox Code Playgroud)