【问题标题】:Check if input is in range. HASURA - GRAPHQL检查输入是否在范围内。 HASURA - 图形
【发布时间】:2021-04-05 05:16:51
【问题描述】:

我想动态检查一个数字是否在特定范围内。例如我有一个像这样的表:

id value age_range
1 a 3-7
2 b 7-10
3 c 3-7
4 d 0-3

如果用户的年龄为 5 岁,我想检索 age_range 为 3-7 的所有行,而不在 where 子句查询中写入范围。例如:

table (where: { 5 in age_range })...

【问题讨论】:

  • 我会使用计算字段创建视图并将其注册为 hasura。实际上它看起来像'hasura way' - 当graphql不够时,在postgresql级别解决它。

标签: graphql hasura


【解决方案1】:

如果可能,创建一个age_from 和一个age_to 列。

query MyQuery($int: Int!) {
  table(where: {_and: [{age_to: {_gte: $int}}, {age_from: {_lte: $int}}]}) {
    #Fields....
  }
}

【讨论】:

  • 在不接触源表的情况下,使用 VIEW 可以更轻松地实现
  • 是的。但如果架构仍然灵活,我会使用原生支持的类型。
猜你喜欢
  • 2014-04-08
  • 2011-01-09
  • 2023-04-03
  • 2017-07-13
  • 1970-01-01
  • 2021-03-30
  • 2016-05-03
  • 2015-11-28
  • 1970-01-01
相关资源
最近更新 更多