'Can I map two columns in a one-to-many relationship in Prisma?
I'm trying to create a prisma schema, where I have an Order model, and a Client model. I would like to have a one-to-many relation between clients and orders.
I have it working with this Order model:
clientId Client @relation(fields: [clientId], references: [id])
clientId Int
But wanted to also include the client name. Something like this doesn't work:
client Client @relation(fields: [clientName, clientId], references: [name, id])
clientName String
clientId Int
This gives me the error
Error validating: The argument `references` must refer to a unique criteria in the related model `Client`. But it is referencing the following fields that are not a unique criteria: name, id
Is this something that is possible within the Prisma schema? I can do it with my controller in NestJS, but ideally I would want to be done in the Prisma layer.
Solution 1:[1]
I solved this by adding a @@unique([name, id]) constraint on the Client model. However, I'm not sure if this is the correct or best way to do this.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Joel Tang |
