如何解决更新时重新创建相关记录
我想在更新时重新创建一些相关记录,如下所示:
db.post.update({
where: { id: 1 },data: {
title: "The first post",comments: {
set: [{ content: "foo"},{ content: "bar" }],},})
遗憾的是,这是不可能的,因为 set
只允许引用现有评论(通过使用 id
)。那么在更新过程中是否有另一种方法来删除所有这些相关评论并在一个事务中从头开始重新创建它们(可能是嵌套写入)?
解决方法
我假设您指的是 Prisma ORM。
为了重新创建相关记录(即删除以前的相关记录并添加新记录),您需要将 deleteMany 与 create 一起使用,如下所示:
db.post.update({
where: { id: 1 },data: {
title: "The first post",comments: {
// delete existing relations
'deleteMany': {},// create new relations
'create': [
......your new data here....
],},})
有关 update
示例,请参阅 github 上的 this 评论。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。