如何在graphql查询中使用带有变量的%符号
Posted
技术标签:
【中文标题】如何在graphql查询中使用带有变量的%符号【英文标题】:How to use the % sign with a variable in graphql query 【发布时间】:2021-01-06 04:31:16 【问题描述】:我有一个查询,我想通过查看用户输入的输入变量 LIKE 来过滤结果。
这是我的查询
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 过滤器时,它仅适用于像这样 ex 编写的刺痛。 “%起司%”。百分号适用于字符串,但当我尝试对变量 $hash 执行相同操作时,它不起作用。如何用变量做 _ilike?当然,我把 $hash 放在 _ilike 之后没有 % 但它没有返回任何东西。只有当我使用常规字符串而不是变量时它才有效。我想如何在 Hasura graph Ql 中编写 _ilike + 变量。哦,我的项目是用 javascript 编写的。
谢谢
【问题讨论】:
【参考方案1】:查询“正文”不适用于任何类型的操作、没有连接、没有评估、没有字符串文字等。
你必须将ready,prepared,字符串作为变量传递。
variables:
domain: "some domain",
hash: `%$someHashVariable%`
// in query simply
// ... hashtag: _ilike: $hash
【讨论】:
非常感谢。我这样做了,但我仍然得到一个错误。超级奇怪,因为这绝对可以工作 100% 是我的错,这是代码中的其他内容。谢谢! 问题是数据是作为承诺加载的,这是一个不同的问题,但是如何异步调用我的查询以便正确加载数据? this.$apollo .query( query: hashQuery, variables: domain: this.selectedDomain, hash:$%this.searchedHash%
) .then(( data : any) => console.log(JSON.stringify(data.hashtags_hashtags)) this.hashtags = data.hashtags_hashtags )
嗨!我有同样的问题,但我的问题是如何在 REST API URL 参数上使用它?你能检查一下吗?谢谢***.com/questions/69938925/…以上是关于如何在graphql查询中使用带有变量的%符号的主要内容,如果未能解决你的问题,请参考以下文章
如何在带有 gatsby 的 graphql 查询中使用正则表达式
带有graphql-request的SWR如何在swr中添加变量?