使用sequelize和mysql,无法更新内容

时间:2017-07-07 20:57:48

标签: mysql node.js express sequelize.js

我正在创建一个包含更新过去帖子的应用。有一个单独的页面,以及与之相关的路线。

  app.post("/posts/:id/update", function(req, res){
    Post.findAll({
        where: {
            id: req.params.id
        }
    }).then(function(foundPost){
        var updatePost = foundPost[0]
        updatePost.updateAttributes({
            description: req.params.description,
            author: req.params.author,
            image: req.params.image
        })
    });
    res.redirect("/posts")
 });

此代码将在数据库中找到帖子,然后尝试使用从更新页面上的表单接收的数据进行更新。出于某种原因,除了" updatedAt"之外,帖子根本没有更新。数据库中的日期。这是在尝试更新帖子后从终端发出的信息:

Executing (default): UPDATE `posts` SET `updatedAt`='2017-07-07 20:50:22' WHERE `id` = 4

它找到了正确的帖子但对此没有任何作用。

1 个答案:

答案 0 :(得分:0)

您可以使用模型中提供的更新方法 像

这样的东西
Posts.update({
  image: req.body.image,
  title: req.body.title,
  // More properties to update
}, {where:{id:req.params.id}})