使用Sequelize和MySQL,更新一个对象,包括它具有的关联对象。一切都更新正常,但我无法返回新的关联对象。如果我再执行一次GET请求,则它是新请求,但我需要它在更新后返回响应。
我试图在返回之前重新加载该联系人对象。
对象看起来像这样:
{
"id": 1,
"details": "some task details",
"contact": { //associated object
"associatedId": 1,
"name": "Mike",
}
}
这就是我正在尝试的
db.task.findOne({
where: {
id: taskId,
userId: req.user.get('id')
},
include: [db.contact]
}).then(
function(task) {
if (task) {
return task.update(attributes);
} else {
res.status(404).send();
}
},
function() {
res.status(500).send();
}
).then(
function(task) {
if(task) {
res.json(task);
}
},
function(e) {
res.status(400).json(e);
}
);
答案 0 :(得分:1)
您需要做的只是returning: true
:
return task.update(attributes,{
returning: true,
plain: true
});