我有一个这样的查询:
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] } } }' : '' }) {
`
我尝试过的一些事情:
- 使用像and这样的GraphQL 指令,但这些指令似乎只适用于返回的字段,而不适用于过滤器的任何部分
@skip
@include
where
- 使用Hasura
boolExp
s like_is_null
and_or
,但似乎这些不能直接测试变量,它们只能将变量与列内容进行比较