Prisma如何过滤存在可选关联关系的User记录?
问题原因
- 你的
User和Quiz是一对一可选关联关系,some过滤算子仅适用于一对多数组类型的关联字段(比如User模型上定义quizzes Quiz[]的场景),所以会触发类型错误。 - 你最开始写的
quiz: true是Prisma早期版本的语法,在新版本中已经废弃不再支持。
正确实现代码
要筛选出已关联Quiz的用户,直接用一对一关联专属的isNot算子判断关联不为空即可:
const users = await p.user.findMany({ where: { quiz: { isNot: null } } })
如果你需要同时对关联的Quiz加过滤条件,直接在is算子内传入匹配规则即可,比如筛选关联的Quiz是已经完成的用户:
const users = await p.user.findMany({ where: { quiz: { is: { finished: true } } } })
内容的提问来源于stack exchange,提问作者Henry
相关产品推荐
相关产品推荐

