Javascript 使用connectOrCreate时prisma中出错
有人知道这个错误在Prisma中意味着什么吗Javascript 使用connectOrCreate时prisma中出错,javascript,prisma,Javascript,Prisma,有人知道这个错误在Prisma中意味着什么吗 EnvVarNotFound(“预期存在父绑定'7\”) 它发生在我在有效负载上使用connector创建之后,但在create或connect时工作正常:/ 不确定,为什么在我使用connectOrCreate后会发生此错误,我是否遗漏了什么 示例代码: prisma.create({ "data": { "unitOfMeasurement": { "connectOr
EnvVarNotFound(“预期存在父绑定'7\”)
它发生在我在有效负载上使用connector创建
之后,但在create
或connect
时工作正常:/
不确定,为什么在我使用connectOrCreate
后会发生此错误,我是否遗漏了什么
示例代码:
prisma.create({
"data": {
"unitOfMeasurement": {
"connectOrCreate": {
"where": {
"name": "PC"
},
"create": {
"name": "PC"
}
}
},
},
})
将您的架构设置为以下内容:
model Parent {
id Int @id @default(autoincrement())
uof UnitOfMeasurement? @relation(fields: [unitOfMeasurementId], references: [id])
unitOfMeasurementId Int?
}
model UnitOfMeasurement {
id Int @id @default(autoincrement())
name String @unique
a Parent?
}
我在@prisma/cli
和@prisma/client
的2.11.0版上运行了下面的查询,它运行良好
await prisma.parent.create({
data: {
uof: {
connectOrCreate: { create: { name: 'PC' }, where: { name: 'PC' } },
},
},
})
您可能面临与旧版本相关的问题,或者
@prisma/client
和@prisma/cli
的版本不匹配。你能试试最新的版本吗,运行prisma generate,然后再次检查吗?谢谢@Ryan,这对我来说也很好——我想问题是我在我的模式中使用了我的名字作为ID。最后一个问题,如何对多个项目执行此操作?我尝试将name
保留为ID(删除ID
字段),但仍然有效。同样,对于创建多个项目,您需要有一个1-many关系。在这种情况下,只需将一个数组传递给connectOrCreate
。类似于:connectOrCreate:[{create:{name:'PC'},where:{name:'PC'},{create:{name:'PD'},where:{name:'PD'}]
是否可以详细说明为什么这是公认的答案,因为我也有同样的问题?据我所知,这似乎是同一个查询减去“prisma.parent”。@Krejko你需要分享更多细节,因为我需要复制它。可能有不同的原因导致这种情况,其中之一可能是@prisma/client
和@prisma/cli
的版本不匹配。