Dustin
12/01/2020, 1:41 AMconst findUnique = await this.prisma.availability.findUnique({
where: {
propertyId_date_status: {
propertyId: 'cki4d4rn102310qqlri351ppf',
status: AvailabilityStatus.AVAILABLE,
date: new Date('2020-12-02T00:00:00.000Z'),
}
}
});
const findFirst = await this.prisma.availability.findFirst({
where: {
propertyId: 'cki4d4rn102310qqlri351ppf',
status: AvailabilityStatus.AVAILABLE,
date: new Date('2020-12-02T00:00:00.000Z'),
}
});
console.log(findUnique); // <-- Null
console.log(findFirst); // <-- Not null
model Availability {
date DateTime
property Property @relation(fields: [propertyId], references: [id])
propertyId String
status AvailabilityStatus @default(AVAILABLE)
@@unique([propertyId, date, status])
}
enum AvailabilityStatus {
AVAILABLE
}
Ryan
12/01/2020, 6:59 AMDustin
12/01/2020, 8:04 AMRyan
12/01/2020, 8:07 AMmodel Property {
id String @id @default(cuid())
Availability Availability[]
}
model Availability {
date DateTime
property Property @relation(fields: [propertyId], references: [id])
propertyId String
status AvailabilityStatus @default(AVAILABLE)
@@unique([propertyId, date, status])
}
enum AvailabilityStatus {
AVAILABLE
}
I created an availability and passed the same parameters that I received from the response and I can get the response fine in findFirst
and findUnique
.Dustin
12/01/2020, 8:37 AMDustin
12/01/2020, 8:37 AMDustin
12/01/2020, 9:58 AMconst firstUnique = prisma.availability.findUnique({
where: {
propertyId_date_status: {
propertyId: 'cki5rxlf700018txwmruu3qjx',
status: 'AVAILABLE',
date: new Date(date),
}
},
});
const secondUnique = prisma.availability.findUnique({
where: {
propertyId_date_status: {
propertyId: 'cki5rxlf700018txwmruu3qjx',
status: 'AVAILABLE',
date: new Date(date),
}
},
});
const res = await Promise.all([firstUnique, secondUnique])
Ryan
12/01/2020, 10:07 AMDustin
12/01/2020, 10:21 AM