【问题标题】:How to simplify Hasura's tracked relationship query responses?如何简化 Hasura 的跟踪关系查询响应?
【发布时间】:2020-12-22 03:41:21
【问题描述】:

很好奇我是否正确构建和跟踪了这种 m2m 关系。这些数组中的每个对象都命名为"user": {...}"pip": {...},这似乎很奇怪

似乎这两个都应该工作

更新截图:

Users 表关系:

点表关系:

【问题讨论】:

  • users 在根级别是user 对象的数组,而更深的users 是关系的名称... 目标类型通常由名为edges/nodes 的结构(中继样式光标/分页)
  • 你跟踪过这两种关系吗?
  • 是的,我正在跟踪这两种关系。
  • 你能在 Hasura 中为两者发布关系定义的屏幕截图吗?
  • @AbrahamLabkovsky 嘿抱歉花了几天时间,但我刚刚添加了关系的照片。

标签: graphql hasura


【解决方案1】:

目前没有自动方法可以从 GraphQL 查询和响应中“隐藏”连接表。您需要遍历连接表以从两个方向取回您想要的结果,因此您无法使用默认生成的 API 来避免它。

如果您想从使用这些数据的人的角度尝试“扁平化”事物,可以extend the GraphQL API using SQL Views

或者,我建议将关系称为不同的名称,以明确您正在浏览连接表。我建议实际调用关系user_pips 而不是pips,因为这样可以更清楚地了解您实际检索的内容。

【讨论】:

  • 感谢杰西的精彩回答。关于user_pips 命名约定的好建议。我最初认为去users > pips 会很酷,但如果我不能摆脱连接表,那你就是对的。
猜你喜欢
  • 2011-08-14
  • 2020-01-12
  • 2021-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多