Hasura Graphql-如何将一个查询的输出作为输入传递给另一查询?

时间:2020-10-28 13:56:13

标签: postgresql graphql hasura

我是Postgres DB和Hasura-Graphql的新手。 如果有人可以帮助我,那将是很好的。

因此,有两个表,表1具有(用户名,电子邮件,id,table1id)和表2具有(用户名,电子邮件,booksRead,访问过的位置,表2_id)。这两个表未连接(通过PK或FK)。

现在的问题是,我必须从table1进行查询以获得用户名和需要查询table2的电子邮件。无论如何,我可以将一个查询的输出添加为一个查询中另一个查询的输入。

还请注意,我需要从表1转到表2,以了解其他详细信息。

例如:

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

1 个答案:

答案 0 :(得分:0)

您应该使用table relationshipscustom functions

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

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

因此,查询可能是:

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

}