[英]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.