Prisma关联查询问题:Job与User通过Application表关联失败求助
问题排查与修复
你的代码无法运行主要有两个核心问题:
1. 字段名称不匹配
你的Prisma Schema里,Application模型关联的是单数的user和job字段,但创建代码里写成了复数的users和jobs,Prisma无法识别这些不存在的字段。
2. Connect语法错误
- 关联单个记录时,
connect不需要用数组包裹,直接传对象即可 connect的格式错误,不需要嵌套user: {user}这种无效结构,直接通过主键或唯一字段关联就行
修复后的代码(两种可选写法)
写法1:直接指定关联ID(最简单)
const application = await prisma.application.create({ data: { jobId: 1, userId: 1 } })
写法2:使用connect关联(适合需要通过其他唯一字段关联的场景)
const application = await prisma.application.create({ data: { job: { connect: { id: 1 } }, user: { connect: { id: 1 } // 如果想用email关联也可以:connect: { email: "user@example.com" } } } })
另外补充个小建议:你的Schema里Job模型的关联字段是application(单数),改成applications(复数)更符合语义,和User模型保持一致:
model Job { id Int @id @default(autoincrement()) society String? description String? applications Application[] // 这里改成复数 }
内容的提问来源于stack exchange,提问作者Lupin
相关产品推荐
相关产品推荐

