首页 > 解决方案 > 如何在 prisma2 中创建多对多关系

问题描述


我正在使用 Prisma2+GraphQL,我想写 schema.prisma

这是我下面的代码

model Message {
  id Int @id @default(autoincrement())
  text String
  from User
  to User
  room Room
  createdAt DateTime @default(now())
  User User @relation("from", fields:[from], references:[id])
  User User @relation("to", fields:[to], references:[id])
}

我得到了一个错误,比如字段“用户”已经在模型“消息”上定义。

我的问题是如何在 prisma2 中将列与用户相关联?

标签: mysqlgraphqlprisma2

解决方案


User这是处理和之间关系的正确方法Messages

model User {
  id           Int       @id @default(autoincrement())
  name         String
  fromMessages Message[] @relation("fromUser")
  toMessages   Message[] @relation("toUser")
}

model Message {
  id        Int      @id @default(autoincrement())
  text      String
  fromId    Int
  toId      Int
  from      User     @relation("fromUser", fields: [fromId], references: [id])
  to        User     @relation("toUser", fields: [toId], references: [id])
  createdAt DateTime @default(now())
}

推荐阅读