'Prisma - How to point two fields to same model?
I'm having trouble conceptualizing how to handle this issue. I've pored through the Prisma docs and other SO questions, but they all seem to be slightly different from this situation.
I have two models:
model User {
id Int @id @default(autoincrement())
firstName String? @map("first_name")
lastName String? @map("last_name")
email String @unique
password String
role UserRole @default(value: USER)
image String? @map("image")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
friends Friend[]
@@map("users")
}
model Friend {
id Int @id @default(autoincrement())
inviteSentOn DateTime @map("invite_sent_on") @db.Timestamptz(1)
inviteAcceptedOn DateTime @map("invite_accepted_on") @db.Timestamptz(1)
userId Int @map("user_id")
friendId Int @map("friend_id")
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
user User @relation(fields: [userId], references: [id])
// friend User? @relation(name: "FriendFriend", fields: [friendId], references: [id])
@@map("friends")
}
I want to be able to set up the relationships on the Friend model to both point towards the User model, however I receive errors such as Error validating field 'friend' in model 'Friend': The relation field 'friend' on Model 'Friend' is missing an opposite relation field on the model 'User'.
I've tried adding the name property to the @relation field, but start receiving errors about ambiguous relations being detected.
How do I go about setting these relations up correctly?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
