为多个外键列创建Hasura关系

时间:2020-08-08 00:26:10

标签: hasura

我有两个表,它们代表一个图形结构。

Location {
  id: Int!
  name: String!
}

Road {
  id: Int!
  name: String!
  loc1Id: Int!
  loc2Id: Int!
}

我想做的是建立一个关系,该关系是RoadLocation的数组,该数组由引用Road的两个Location组成通过loc1Idloc2Id字段/列。

如果我尝试在控制台中以单一关系选择两者,则只能在创建的关系中选择第二个(并且没有错误)。

1 个答案:

答案 0 :(得分:0)

您正在尝试建立多对多关系。建立多对多关系的最佳方法是拥有一个联接表。

location {
  id: Int!
  name: String!
}
Road {
  id: Int!
  name: String!
}
location_road {
  id: Int!
  road_id: Int!
  location_id: Int!
}

并在roadlocation_road之间创建一个数组关系,并在locationlocation_road之间创建另一个数组关系

How to implement a many-to-many relationship in PostgreSQL?