我有以下模式,其中Quiz
是User
上的可选关系。
model User {
email String @id @unique
quiz Quiz?
}
model Quiz {
id String @id @default(uuid())
user User @relation(fields: [userEmail], references: [email], onDelete: Cascade)
userEmail String
}
我想找到所有有测验关系的用户。
起初,我天真地尝试了以下方法:
const users = await p.user.findMany({
where: { quiz: true },
})
然后我想我找到了一个解决方案in their docs.
const users = await p.user.findMany({
where: { quiz: { some: {} } },
})
但这给出了错误:
键入“{ some:“{}; }”不能分配给类型“(不包含<Quizeries Filter,QuizWhereInput> & QuizWhereInput)|(不包含<QuizWhereInput,QuizbaseFilter>和QuizbaseFilter)|null|未定义'。
对象文字只能指定已知的属性,并且“some”在类型“中不存在(不使用<QuizonFilter,QuizWhereInput> & QuizWhereInput)|(不包含<QuizWhereInput,QuizbaseFilter> & QuizbaseFilter“)。
9其中:{ quiz:{ some:{},
2条答案
按热度按时间fzwojiic1#
您在文档中找到的解决方案适用于一对多关系。一对一关系可以这样过滤:
8i9zcol22#
对于那些在涉及一对一关系的情况下寻求解决方案的人,目标是通过
null
字段过滤记录,您可以使用以下Prisma查询:这个查询可以有效地检索“user”模型中“quiz”字段为
null
的记录,使其成为在此类场景中过滤数据的有用工具。