variables - 如果未设置变量,如何禁用 graphql 过滤器?
问题描述
我正在处理带有可配置过滤器的页面。graphql 查询如下所示:
query GetPlayers(
$offset: Int
$limit: Int
$skillIds: [uuid!] = null
$playerTypeIds: [Int!] = null
$availability: Int = null
$timezones: [String!] = null
$search: String = null
) {
player(
order_by: { total_xp: desc }
offset: $offset
limit: $limit
where: {
availability_hours: { _gte: $availability }
timezone: { _in: $timezones }
player_type_id: { _in: $playerTypeIds }
Player_Skills: { Skill: { id: { _in: $skillIds } } }
_or: [
{ username: { _ilike: $search } }
{ ethereum_address: { _ilike: $search } }
]
}
) {
id
}
}
我希望默认行为是返回所有条目。我正在使用 Hasura 1.3.3 并被null
解释为{}
将返回所有条目。唯一的问题是Player_Skills: { Skill: { id: { _in: $skillIds } } }
线路。有一个连接表,外键引用players
andskills
表,并且该行将只返回在该表中至少有一个条目的玩家。
$skillIds
如果是,是否可以形成一个忽略技能过滤器的查询null
?
解决方案
推荐阅读
- c++ - 是否允许泄漏线程局部变量的指针?
- r - 将季度行扩展到多个月行
- javascript - 获取 API 响应代码与网络选项卡响应代码不同
- python - 由于证书错误,pip3 无法为 Python3.8 安装
- javascript - 根据特定属性值匹配的另一个对象数组删除数组中的对象
- python - 将 `count`/`sum` 与 `groupby` 一起使用时忽略指定的行,但将索引保留为一个组
- java - 将 Java/Json 转换为格式化的 HTML
- php - 我如何让猫头鹰旋转木马在 Laravel 7 中工作
- powershell - PowerShell - 让用户使用文件资源管理器选择路径
- python - 在 PyUSB 中解码返回的 USB RFID 阅读器数组