我想以数组类型存储数据,但是当我尝试在 Prisma 中存储数组时,它会自动添加引号并导致错误。我使用 Next.js
我试过了
const genre = formdata.genre
const tag = formdata.tag
console.log('genre', genre)
//another code
const result = await prisma.items.update({
where: {
id: id
},
data:{
genre: genre,
tag: tag
}
});
如果流派和标签是 ['hello', 'world!'], 控制台显示:流派 ['hello', 'world!'] 但错误说
Error:
Invalid `prisma.items.update()` invocation:
{
where: {
id: 1
},
data: {
genre: "['hello', 'world!']",
~~~~~~~~~~~~~~~~~~~~~
tag: "['hello', 'world!']"
}
}
Argument `genre`: Invalid value provided. Expected itemsUpdategenreInput or String[], provided String.
这是我的架构
model items{
id Int @default(autoincrement()) @id
name String
genre String[]
time DateTime
tag String[]
try Int
creater String
}
Prisma 需要
genre
和 tag
字段的字符串数组,但您传递的是包含整个数组的单个字符串。
在传递它们之前将它们转换为实际的字符串数组
const genre = formdata.genre.split(',');
const genre = formdata.tag.split(',');
const result = await prisma.items.update({
where: {
id: id
},
data:{
genre: genre,
tag: tag
}
});