2017-07-07 52 views
0

我正在制作一个应用程序,其中包括更新过去的帖子。这里有一个单独的页面和一个路径。使用sequelize和mysql,无法更新的东西

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 

它找到正确的帖子,但什么也没做。

回答

0

您可以使用可用的更新方法在模型 喜欢的东西

Posts.update({ 
    image: req.body.image, 
    title: req.body.title, 
    // More properties to update 
}, {where:{id:req.params.id}}) 
+0

您发布的代码似乎工作,但我还是拿出了同样的结果。 – sespler

+0

你能后的模型 这应该是工作 – Shivam

+0

VAR邮政= connection.define( “后”,{ 描述:Sequelize.TEXT, 作者:Sequelize.STRING, 图像:Sequelize.STRING }); – sespler