2017-07-07 6 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

あなたはモデル ({:Sequelize.TEXT、 著者:Sequelize.STRING、 画像: 説明Sequelize.STRING } "ポスト"、)この作業をする必要があります – Shivam

+0

VARポスト= connection.defineを投稿することができます。 – sespler

関連する問題