【发布时间】:2021-09-11 03:09:31
【问题描述】:
我正在使用 Prisma 2,并且在连接模型上的现有记录时遇到问题,该模型与连接的模型具有隐含的多对多关系。
schema.prisma
model Event {
id Int @id @default(autoincrement())
performers Performer[]
}
model Performer {
id Int @id @default(autoincrement())
events Event[]
}
运行 prisma 迁移后,我可以在 postgres 中看到我确实创建了一个名为 _EventToPerformer 的连接表。我在我的数据库中创建了一些表演者,当我尝试创建一个事件并连接那些现有的表演者时,我无法做到。
const performers = await prisma.performer.findMany()
const event = await prisma.event.create({
data: {
performers: performers.map((p) => ({ id: p.id })),
},
include: {
performers: true,
},
});
对于上面的代码,我在传递给 create 函数的对象的 data 属性上遇到了相当神秘的打字稿错误。当我使用@ts-ignore 抑制时,我收到这些棱镜客户端错误:
Unknown arg `performers` in data.performers for type EventUncheckedCreateInput. Available args:
type EventUncheckedCreateInput {
id?: Int
}
在建立隐式多对多关系和/或将现有记录附加到这些模型时,我是否遗漏了什么明显的东西?
【问题讨论】:
标签: postgresql prisma