【发布时间】:2022-01-27 00:16:05
【问题描述】:
我有一个多对多关系建模拳击比赛:
- 一场战斗可以有多个战士(总是 2 个)
- 一名战士可以参加多次战斗
我的架构如下所示:
model Fight {
id Int @id @default(autoincrement())
fighters FighterFights[]
}
model Fighter {
id Int @id @default(autoincrement())
name String @unique
fights FighterFights[]
}
model FighterFights {
fighter Fighter @relation(fields: [fighterId], references: [id])
fighterId Int
fight Fight @relation(fields: [fightId], references: [id])
fightId Int
@@id([fighterId, fightId])
}
我想用 2 名现有战士创建新的战斗。这是我尝试过的:
const result = await prisma.fight.create({
data: {
fighters: {
connect: [{ id: fighter1 }, { id: fighter2 }],
},
},
})
但我收到此打字稿错误:
Type '{ id: any; }' is not assignable to type 'FighterFightsWhereUniqueInput'.
Object literal may only specify known properties, and 'id' does not exist in type 'FighterFightsWhereUniqueInput'.
我的prisma.fight.create 函数调用应该是什么样子?
【问题讨论】:
标签: typescript postgresql many-to-many prisma