我在设计模式时遇到了一些问题。
案例1:
model User {
package: @relation(fields: [authorId], references: [id])
packageId: Int
}
model Package {
user User[]
}一个套餐可以被数百个用户订阅。因此,我认为这是一条可行的道路。但是,问题是,当需要删除包时,也需要删除用户(Admin)。这是我们不希望的
案例2:
model User {
package Package[]
}
model package {
author User? @relation(fields: [authorId], references: [id])
authorId Int?
}通过这种方式设计,当删除包时,用户不会被删除。但我不能将多个用户连接到一个包。
发布于 2020-07-04 19:32:21
我认为你必须从两端显式地对关系进行建模,才能获得many-to-many relationship。毕竟,用户可以订阅许多包,并且包可以有多个用户订阅。
model User {
id Int @id @default(autoincrement())
packages Package[] @relation(references: [id])
}
model Package {
id Int @id @default(autoincrement())
user User[] @relation(references: [id])
}https://stackoverflow.com/questions/62725153
复制相似问题