我使用sequelize进行upsert,但关联的模型无法更新。
我有一个Project模型和一个FacultyInfo模型,两者之间的关系是:
Project.belongsTo(models.FacultyInfo, {
as : 'Faculty',
onDelete: "CASCADE"
})
现在,在创建模型时,我使用Web表单提交数据并同时创建两个模型,如下所示:
var project = models.Project.create({
description: req.body.description,
url: req.body.url,
// ...
Faculty: {
name: req.body.name,
email: req.body.email,
}
}, {
include: [ {model: models.FacultyInfo, as: 'Faculty'} ]
}).then(function (task) {
//
});
这完美无缺。现在我想以类似的方式做一个upsert。在上面的代码中,如果我将create
替换为upsert
,并将Project的主键作为参数传递,则Project模型会更新(如果找到),但FacultyInfo模型不会获得更新。如果未找到项目,则会创建(按预期),但不会创建FacultyInfo模型,而project项中的faculty_id是外键,Null
也许,有一种方法可以按照我想要的方式工作,但是我还没有找到它,而且我已经在github / stackoverflow上搜索了这么多帖子,什么不是。< / p>
如果有人能告诉我如何实现这一目标,或者向我展示另一种实现这一目标的方法,我将不胜感激。