【发布时间】:2021-12-21 09:28:02
【问题描述】:
在我们的应用中,用户可以是许多组织的成员。在查看该站点时,他们通常是通过其中一个组织查看它。这是选定的组织。
下面的模型是最好的建模方法吗?有没有办法对其进行建模,这样您就不必在Membership 上使用selectedBy 和selectedById,而只需在User 上使用selectedMembershipId 和Membership 的外键?
model User {
id Int @id @default(autoincrement())
memberships Membership[] @relation("Memberships")
selectedMembership Membership? @relation("Selection")
}
model Membership {
id Int @id @default(autoincrement())
user User @relation("Memberships", fields: [userId], references: [id])
userId Int
selectedBy User? @relation("Selection", fields: [selectedById], references: [id])
selectedById Int? @unique
organization Organization @relation(fields: [orgId], references: [id])
orgId Int
role MemberRole
@@unique([userId, orgId])
}
【问题讨论】:
标签: prisma