2015-11-25 19 views
10

関連でSequelizeを更新し、このように一度のすべてのそれは協会:それは行を作成することが可能ですsequelizeで

は、更新のための相当するものはありますか? は私が

model.user.update(req.body.user, {where: {id: req.user.user_id}, include: [model.profile]}) 

をしようとしたが、それはあなたが更新したいサブモデルを含むモデルを見つける必要があり作品

model.user.create(user, {transaction: t, include: [model.profile]}) 

答えて

6

ファーストを作成するためにこれを行うユーザー

を更新しています。 サブモデルの参照を簡単に更新することができます。 私は参考のための例を掲示しています。それが助けてくれることを願う

var updateProfile = { name: "name here" }; 
var filter = { 
    where: { 
    id: parseInt(req.body.id) 
    }, 
    include: [ 
    { model: Profile } 
    ] 
}; 

Product.findOne(filter).then(function (product) { 
    if (product) { 
    return product.Profile.updateAttributes(updateProfile).then(function (result) { 
     return result; 
    }); 
    } else { 
    throw new Error("no such product type id exist to update"); 
    } 
}); 
+0

は、これは私がこのアプローチを見ている唯一の問題は、あなたが他の要求は、元のフィルタオブジェクトを更新しないだろうと想定され – Jacob

+2

を更新するための最善の解決策であるように思われます。 –

関連する問題