For example I have the following table that has connection to many
model FileJob {
id String @id
originalName String?
createdAt DateTime @default(now())
// One-to-one relations to JobContent
jobContent JobContent? @relation("jobContent", fields: [jobContentId], references: [id])
jobContentId String? @unique @db.Uuid
cvFile JobApplication? @relation("cvFile", fields: [cvFileId], references: [id])
cvFileId String? @unique @db.Uuid
letterFile JobApplication? @relation("letterFile", fields: [letterFileId], references: [id])
letterFileId String? @unique @db.Uuid
// One-to-one relation to Job
job Job? @relation("job", fields: [jobId], references: [id])
jobId String? @unique @db.Uuid
}
All are null except one.
If I have the following query:
const file = await prisma.fileJob.findUnique({
where: { id: key },
include: {
job: { include: { organization: true } },
jobContent: { include: { job: { include: { organization: true } } } },
cvFile: { include: { user: true, job: { include: { organization: true } } } },
letterFile: { include: { user: true, job: { include: { organization: true } } } },
},
});
Will prisma make a query for each one even though it knows that value is null? So I can safely do this and only the valid one will be queried? (for example if I have only a referecne to job and all others are null, only one query is done to get the organization?