我有两个模型,用户和商人。我将从UI发送JSON数据。在Sequelize中,我使用了“include”选项来插入数据,如下所示。
models.user.create(req.body, { include: [models.merchant] });
它正如预期的那样工作得很好。所以我试着像下面这样更新数据。
var filter = {
where: { id: id },
include: [
models.merchant
]
};
models.user.update(req.body, filter);
上面的代码只更新用户数据。关联在更新中不起作用。我不知道这有什么问题。
请任何人帮助解决这个问题。
先谢谢你了。
2条答案
按热度按时间uqxowvwt1#
您所要求的行为根本无法通过一次更新调用来完成。如果你检查文档中的更新功能,没有包含选项,即sequelize只能为调用更新函数的模型的表构建更新查询。
您必须单独更新关联。我建议您将这些更新放在一个事务中,以避免同时发生对同一对象的多个更新的任何问题。
yuvru6vn2#
这里有一个干净的方法来做到这一点: