Как создать отношения «многие ко многим» в prisma2

#mysql #graphql #prisma2

#mysql #graphql #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])
}
 

и я получил сообщение об ошибке, например, поле «Пользователь» уже определено в модели «Сообщение».

Мой вопрос в том, как я могу связать столбцы from amp; to с пользователем в prisma2?

Ответ №1:

Вот правильный способ установить связь между 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())
}