[英]How to get data from MySql relation table in Prisma
在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中创建一个“ Ride”,“ Passenger”,“ Report”和“ Origin”表。 但是它没有在“乘车”表中为旅客,始发地和目的地创建任何列。
它为此单独创建一个关系表,例如_PassengerToRide,_OriginToRide和_DestinationToRide。
在“乘车”表中没有建立关系,当我查询“ rides()”时,无法从“乘客”,“始发地”和“目的地”表中获取详细信息。 这是定义datamodel.graphql的正确方法吗? (编辑)
根据您的描述,此查询应“有效”:
query {
rides {
feedback
passenger {
id
}
origin {
id
}
destination {
id
}
}
}
Prisma使用您提到的关系表方法来跟踪两个节点之间的关系,例如表_OriginToRide
与数据模型中的@relation(name: "OriginToRide")
关系相关。
之后,您无需在SQL级别上进行任何更改即可连接关系。
注意:以上内容适用于已激活迁移的 Prisma数据库连接器。 如果您的连接器不进行迁移,则支持表示关系的其他方法。 可以通过对现有数据库模式进行内部检查来生成支持此操作的各个数据模型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.