gpt4 book ai didi

prisma - 如何在 prisma 中创建与同一字段的多个关系

转载 作者:行者123 更新时间:2023-12-01 21:58:18 26 4
gpt4 key购买 nike

这是我的 datamodel.prisma 文件的相关部分。

type Driver {
id: ID! @unique
zones: [Zone!] @relation(name: "DriverZones")
shifts: [Shift!] @relation(name: "DriverShifts")
preferredZone: Zone
preferredShift: Shift
}


type Shift {
id: ID! @unique
drivers: [Driver! ] @relation(name: "DriverShifts")
}


type Zone {
id: ID! @unique
drivers: [Driver! ] @relation(name: "DriverZones")
}

在这里,我想根据我创建的数据模型为 preferredZone 和 preferredShift 创建类型为 Zone 和 Shift 的关系。这是一种单向关系。

关系字段 preferredShift 必须指定一个 @relation 指令:@relation(name: "MyRelation") , 关系字段 preferredZone 必须指定一个 @relation 指令:@relation(name: "MyRelation")

我正在为我的 prisma 数据库使用 PostgreSQL。如何建立 preferredZone 与 Zone 之间的关系。和 preferredShift 到 Shift。

最佳答案

您需要命名关系,因为您在相同类型之间有两个关系(Driver <-> Shift 和 Driver <-> Zone 都由两个关系连接)。

在这种情况下,Prisma 会要求您命名与您发布的错误消息相关的关系。我认为这个数据模型应该有效:

type Driver {
id: ID! @unique
zones: [Zone!] @relation(name: "DriverZones")
shifts: [Shift!] @relation(name: "DriverShifts")
preferredZone: Zone @relation(name: "PreferredZone")
preferredShift: Shift @relation(name: "PreferredShift")
}


type Shift {
id: ID! @unique
drivers: [Driver! ] @relation(name: "DriverShifts")
}


type Zone {
id: ID! @unique
drivers: [Driver! ] @relation(name: "DriverZones")
}

关于prisma - 如何在 prisma 中创建与同一字段的多个关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55061483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com