返回sequelize中具有更新关联的对象

kkbh8khc  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(613)

使用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);
  }
);
w8biq8rn

w8biq8rn1#

你要做的就是 returning: true :

return task.update(attributes,{
  returning: true,
  plain: true
});

相关问题