如何解决Prisma2 如何将一对多和多对一联系起来?
我需要一些帮助来理解如何设置我的数据模型。
我想做的是:
model User {
id String @id @default(uuid())
email String @unique
role Role @default(USER)
group Group? @relation(fields: [group_id],references: [id],onDelete: SetNull)
group_id String
created_at DateTime @default(Now())
updated_at DateTime @updatedAt
@@map("user")
}
model Group {
id String @id @default(uuid())
name String
users User[]
created_at DateTime @default(Now())
updated_at DateTime @updatedAt
deleted Boolean @default(false)
@@map("group")
}
当我已经有用户 User[] 用于 User 模型中的关系时,如何制作此 User 列表?
(顺便说一句,我已经阅读了文档,但我完全迷失了......)
解决方法
我认为你的代码是正确的,你可以使用prisma-client来测试
这是这种关系的一个例子
model Agents {
id Int @id @default(autoincrement()) @db.UnsignedInt
name String? @db.VarChar(255)
owner String? @db.VarChar(255)
address String? @db.Text
lat String? @db.VarChar(10)
lng String? @db.VarChar(10)
tel String? @db.VarChar(13)
mobile String? @db.VarChar(11)
workTime String? @db.VarChar(255)
province Provinces @relation(fields: [provinceId],references: [id])
provinceId Int @db.UnsignedInt
createDateTime DateTime @default(now()) @db.Timestamp(0)
updateDateTime DateTime? @db.Timestamp(0)
@@index([provinceId],name: "provinceId")
@@map(name: "agents")
}
model Provinces {
id Int @id @default(autoincrement()) @db.UnsignedInt
name String? @db.VarChar(255)
coords String? @db.Text
createDateTime DateTime @default(now()) @db.Timestamp(0)
updateDateTime DateTime? @db.Timestamp(0)
agents Agents[]
@@map(name: "provinces")
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。