首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >方法.save()正在adonis/node.js中插入而不是更新我的模型

方法.save()正在adonis/node.js中插入而不是更新我的模型
EN

Stack Overflow用户
提问于 2019-10-28 16:50:39
回答 2查看 1.6K关注 0票数 0

我按照adonis 文档创建了一个在我的控制器中进行更新的方法,它说:

save方法将实例持久化到数据库。此外,它巧妙地确定是创建一个新行还是更新现有行。

所以我试着这样做:

代码语言:javascript
运行
复制
update ({ request, auth }){

    let user = new User()
    user.merge(request.all())
    const user = await user.save()
    return user 
}

因此,我在这个路径上发出了一个put请求,并收到了以下错误:

消息:“插入”用户“.”. "id“-重复的键值违反唯一约束”users_pkey“

我怎么能更新模型?在请求中,我传递我需要更新的id,但是Lucid认为这是一个插入.

EN

回答 2

Stack Overflow用户

发布于 2019-10-28 17:03:56

尝试删除const user =,因为您已经在此之上定义了两行用户。这可能导致不必要的功能。

票数 3
EN

Stack Overflow用户

发布于 2019-10-28 17:16:18

固定使用:

代码语言:javascript
运行
复制
async update ({ request, auth }){

    let user = await User.findOrFail(request.params.id)
    user.merge(request.all())
    await user.save()
    return user

}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58595120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档