【发布时间】:2019-09-12 13:16:34
【问题描述】:
我有一个这样的查询:
query getUsers ($setId: Int) {
user(where: { user_sets: { set_id: { _in: [$setId] } } }) {
id
name
status
user_sets {
set {
name
}
}
# more fields...
}
}
我正在寻找的是一种不应用where 过滤器并在$setId 为空时提供所有条目的方法。我想避免动态编写查询 - 这样做很容易,但我们希望在静态 .graphql 文件中进行查询:
const query = `
query getUsers (${ setId ? '$setId: Int' : ''}) {
user(${ setId ? 'where: { user_sets: { set_id: { _in: [$setId] } } }' : '' }) {
`
我尝试过的一些事情:
- 像
@skip和@include一样使用GraphQL directives,但似乎这些仅适用于返回的字段,不适用于where过滤器的任何部分 - 使用Hasura
boolExps 像_is_null和_or,但似乎这些不能直接测试变量,它们只能将变量与列内容进行比较
【问题讨论】:
标签: hasura