首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >graphql -查询多个表

问graphql -查询多个表
EN

Stack Overflow用户
提问于 2018-07-13 05:51:36
回答 0查看 5K关注 0票数 0

我是graphql的新手,我需要一次查询多个表来显示一些数据。我有一个仪表板,它显示了一个家庭的信息,它来自5个表:地址,人,主机信息,房间和图像。我最初使用person_id来查询包含person_id等内容的address表。下面是uml的一个简短的抓取部分:

代码语言:javascript
复制
entity Address {
    AddressId BigInteger,
    FK_PersonId BigInteger,
    StreetNumber Integer,
    ...
}

entity HostInfo {
    HostInfoId BigInteger,
    FK_AddressId BigInt,
    HomestayName String,
    ...
}

entity Room {
    RoomId BigInteger,
    FK_HostInfoId BigInteger,
    RoomName String,
    ...
}

entity Image {
    FK_AddressId BigInt,
    FK_RoomID BigInt,
    Name String,
    ....
}

entity Person {
    PersonId,
    FirstName String,
    Age Integer required, //TODO remember to check age
}

我的问题是,我如何使用graphql来仅使用PersonId从这些表中获取所有数据?编辑-我重构了typedefiniton如下:

代码语言:javascript
复制
    export type Address = {
      StreetNumber: number,
      //..
      Person:Person
    }

    export type HostInfo = {
      HomestayName: string,
      //..
      Person:Person,
      Room:[Room!],
      Address:Address
    }

    export type Room = {
      RoomName: string,
      //..
      RoomImage:[RoomImage!],
      HostInfo:HostInfo
    }

    export type RoomImage = {
      Name: string,
      //..
      Room:Room,
    }

    export type HostInfoImage = {
      Name: string,
      ..
      HostInfo:HostInfo
    }

    export type PersonImage = {
      Name: string,
      //..
      Person:Person
    }

export type Person = {
  FirstName: string,
  ..
  PersonImage:[PersonImage]
  Address:Address
}

并按如下方式执行查询:

代码语言:javascript
复制
query HostInfo($id: ID!) {
  node(id: $id) {
    ... on Person {
      firstName
      address {
        streetNumber
        hostInfo {
            HostName,
            //...
            Room {
                RoomName,
               [RoomImage],
               //....
           }
        }
      }
    }
  }
}

我会在我的实体中显式地显示这两种关系...我期待着更多的sql(ly)方式来做这件事。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51314981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档