我试图通过以下一个调用来更新hasOne
和belongsTo
模型(顺便说一下,使用create()
){{1是一个返回的实例:
user
但是对于我的生活,我无法得到任何工作。我可以轻松调用user.update({
email: req.body.email,
Profile: {
name: req.body.name,
gender: req.body.gender,
location: req.body.location,
website: req.body.website,
}
}).then(function(user) { //foo });
并仅更改配置文件模型以及user.Profile.update({})
,但嵌套将无效。功能不存在,没有很好地记录,或者我需要使用类似user.update({})
的内容单独更新两者?
谢谢!
答案 0 :(得分:1)
如果有人需要,请发布此信息以供将来参考。到目前为止,我能弄清楚如何处理这个问题的唯一方法是使用Promise.all()
。如果Sequelize的任何维护者都看到了这一点,那么我可以非常有助于澄清/添加一次更新相关模型的能力。
此处的工作代码(其中user
是来自User.findById()
的实例:
Promise.all([
user.Profile.update({
name: req.body.name || '',
gender: req.body.gender || '',
location: req.body.location || '',
website: req.body.website || ''
}),
user.update({
email: req.body.email || '',
})
]).then(function() {
req.flash('success', { msg: 'Profile information updated.' });
res.redirect('/account');
});