pyjama929
06/26/2022, 2:02 PMmodel Likes {
id String @id @default(cuid())
userId String
itemId String
liked Boolean
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
items Items @relation(fields: [itemId], references: [id], onDelete: Cascade)
}
model Items {
id String @id @default(cuid())
content String
userId String
done Boolean @default(false)
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
completedAt DateTime?
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
comments Comments[]
likes Likes[]
products Products[]
}
model User {
id String @id @default(cuid())
name String? @unique @default(cuid())
displayName String?
location String?
bio String?
twitter String?
email String? @unique
emailVerified DateTime?
image String?
lastOnline DateTime?
isAdmin Boolean @default(false)
isPremium Boolean @default(false)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
accounts Account[]
sessions Session[]
items Items[]
comments Comments[]
likes Likes[]
products Products[]
}
The error I get
Invalid `prisma.likes.upsert()` invocation:
{
where: {
userId: 'cl3mvrzw00040qj9vsn914xn0'
~~~~~~
},
create: {
userId: 'cl3mvrzw00040qj9vsn914xn0',
itemId: 'cl472xhbd0200va9vtfanjkqv',
liked: true
},
update: {
liked: true
}
}
Unknown arg `userId` in where.userId for type LikesWhereUniqueInput. Did you mean `id`? Available args:
type LikesWhereUniqueInput {
id?: String
}Austin
06/27/2022, 8:40 PMLikes model:
model Likes {
id String @id @default(cuid())
userId String
itemId String
liked Boolean
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
items Items @relation(fields: [itemId], references: [id], onDelete: Cascade)
@@unique([itemId, userId]) // this denotes the combination of any itemId and userId will be unique
}
After re-generating your Prisma Client, you can now query like this:
await prisma.likes.upsert({
where: {
itemId_userId: {
userId: 'cl3mvrzw00040qj9vsn914xn0',
itemId: 'cl472xhbd0200va9vtfanjkqv'
}
},
create: {
userId: 'cl3mvrzw00040qj9vsn914xn0',
itemId: 'cl472xhbd0200va9vtfanjkqv',
liked: true
},
update: {
liked: true
}
})Vladi Stevanovic