Ваша схема должна выглядеть так:
model Product {
id Int @id @default(autoincrement())
name String
price Int
stocks Int
orders Order[]
createdAt DateTime @default(now())
}
model User {
id Int @id @default(autoincrement())
name String
email String @unique
password String
orders Order[]
}
model Order {
id Int @id @default(autoincrement())
product Product @relation(fields: [productId], references: [id])
productId Int
user User @relation(fields: [userId], references: [id])
userId Int
@@unique([productId, userId])
}
И ваша мутация GraphQL должна содержать идентификатор пользователя и идентификатор продукта, передаваемые как переменные, и ваш преобразователь будет выглядеть так:
await prisma.user.update({
where: {
id: 1,
},
data: {
orders: {
create: {
product: {
connect: {
id: 123,
},
},
},
},
},
})
Это создаст новый заказ для идентификатора пользователя 1 и добавит в заказ идентификатор продукта 123 .