在datamodel.graphql中
type Ride {
rideId: String
productId: String
passenger: Passenger
origin: Origin
destination: Destination
dateTime: DateTime
feedback: String
}
type Passenger {
id: ID! @unique
firstName: String
lastName: String
}
type Destination {
# The unique ID of the destination.
id: ID! @unique
latitude: Float
longitude: Float
address: String
}
type Origin {
id: ID! @unique
latitude: Float
longitude: Float
address: String
}
type Report {
productId: String
passenger: Passenger
description: String
}我部署了这个数据模型,并生成了一个MySql Db,自动查询,以及与此相关的变异。
它在MySql中创建了一个“骑行”、“乘客”、“报告”和“原产地”表。但它并没有在“骑行”表中为乘客、来源地、目的地创建任何列。
它为此创建了一个关系表,如_PassengerToRide、_OriginToRide和_DestinationToRide。
由于缺乏“乘车”表中的关系建立,在查询“骑行()”时,无法从乘客表、原产地表和目的地表中获得详细信息。这是定义datamodel.graphql的正确方法吗?(编辑)
发布于 2018-05-22 16:47:02
根据您的描述,此查询应该“只起作用”:
query {
rides {
feedback
passenger {
id
}
origin {
id
}
destination {
id
}
}
}Prisma使用前面提到的关系表方法来跟踪两个节点之间的关系,例如,表_OriginToRide与数据模型中的关系@relation(name: "OriginToRide")有关。
之后,您不必在SQL级别上更改任何东西来连接这些关系。
注:以上适用于具有激活迁移的Prisma数据库连接器。如果连接器不进行迁移,则支持不同的表示关系的方法。支持这一点的相应数据模型可以由内省 (您现有的数据库模式)生成。
https://stackoverflow.com/questions/50445475
复制相似问题