我正在学习棱镜,
我想尽可能地利用 Prisma 的隐式关系来处理以下关系(后来我想使用 nexus 来编写查询):
1 个用户可以属于许多对话(因为它是参与者)
1 对话有一个数组操作系统用户(称为参与者)
1 用户可以拥有许多消息(作为它的作者)
1 条消息可以有 1 个用户(作为它的作者)
1 对话有一系列消息(称为文本)
1 条消息只能属于 1 个对话
到目前为止,我已经想出了这个(但我非常怀疑它是否正确,因为它在与 nexus 一起使用时表现得不像我想要的那样):
model User {
id String @id @default(uuid())
conversations Conversation[]
}
model Message {
id String @id @default(uuid())
authorId String
conversationId String
author User @relation(fields: [authorId], references: [id])
conversation Conversation @relation(fields: [conversationId], references: [id])
}
model Conversation {
id String @id @default(uuid())
participants User[]
messages Message[]
}
我可以请一些指示/帮助继续吗?