【发布时间】:2021-10-22 17:14:59
【问题描述】:
我想用Prisma把文章和标签关联起来,即:一个帖子有多个标签,一个标签属于多个帖子
但是 Prisma 中的示例会导致创建重复标签
这是我的 Prisma 模型
model Article {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
title String
summary String
link String @unique
archive String
content String
image String
tags Tag[]
}
model Tag {
id Int @id @default(autoincrement())
name String
articles Article[]
}
根据文档,这是我的代码,它会导致出现重复的标签
await prisma.article.create({
data: {
title,
summary,
link,
archive,
content,
image,
tags: {
create: tags.map((tag) => ({ name: tag })),
},
},
});
我使用connectOrCreate时,多对多模式报错
await prisma.article.create({
data: {
title,
summary,
link,
archive,
content,
image,
tags: {
connectOrCreate: {
where: tags.map((tag) => ({ name: tag })),
create: tags.map((tag) => ({ name: tag })),
},
},
},
});
【问题讨论】:
-
在您的代码中使用
tags.map((tag) => ({ name: tag }))的原因是什么?