【问题标题】:Hasura Graphql- How to pass Output of one Query as an input to the other Query?Hasura Graphql-如何将一个查询的输出作为输入传递给另一个查询?
【发布时间】:2021-02-10 21:48:10
【问题描述】:

我是 Postgres DB 和 Hasura-Graphql 的新手。 如果有人能帮帮我就好了。

所以有两个表,Table1 带有(用户名,电子邮件,id,table1id)和 Table2 带有(用户名,电子邮件,booksRead,visitedLocations,table2_id)。这两个表没有连接(通过PK或FK)。

现在的问题是我必须从 table1 查询以获取我需要查询 table2 的 uername 和电子邮件。那么无论如何我可以将一个查询的输出作为输入添加到一个查询中的另一个查询。

另外请注意,我需要从 table1 转到 table2 以了解其他一些细节。

例如:

query{
 table1{
   username,
   email
 }
 table2(where:{username:username, email:email}){
   username,
   email,
   visitedLocations,
   booksRead
 }
}

【问题讨论】:

    标签: postgresql graphql hasura


    【解决方案1】:

    您应该使用table relationships 或custom functions。

    你想要做什么不是很清楚,但我认为你应该重新设计你的数据库架构:

    • 带 PK 的用户表
    • visitedLocations 与用户表具有一对多关系
    • booksRead 与用户表具有一对多关系

    所以,查询可能是:

    query {
        user {
            username
            email
            visitedLocations {
                location
            }
            booksRead {
                book
            }
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      • 2016-04-13
      • 1970-01-01
      • 2018-11-05
      • 2015-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多