首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prisma2:如何设计与数组类型模型相关的模式?

Prisma2:如何设计与数组类型模型相关的模式?
EN

Stack Overflow用户
提问于 2020-07-04 12:02:55
回答 1查看 172关注 0票数 1

我在设计模式时遇到了一些问题。

案例1:

代码语言:javascript
复制
model User {
  package: @relation(fields: [authorId], references: [id])
  packageId: Int
}

model Package {
  user User[]
}

一个套餐可以被数百个用户订阅。因此,我认为这是一条可行的道路。但是,问题是,当需要删除包时,也需要删除用户(Admin)。这是我们不希望的

案例2:

代码语言:javascript
复制
model User {
  package Package[]
}

model package {
  author      User?  @relation(fields: [authorId], references: [id])
  authorId    Int?
}

通过这种方式设计,当删除包时,用户不会被删除。但我不能将多个用户连接到一个包。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-04 19:32:21

我认为你必须从两端显式地对关系进行建模,才能获得many-to-many relationship。毕竟,用户可以订阅许多包,并且包可以有多个用户订阅。

代码语言:javascript
复制
model User {
  id Int @id @default(autoincrement())
  packages Package[] @relation(references: [id])
}

model Package {
  id Int @id @default(autoincrement())
  user User[] @relation(references: [id])
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62725153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档