如何通过节点js中的sequelize更新关联记录?

时间:2017-09-12 13:54:01

标签: node.js express orm sequelize.js

我们尝试通过sequelize更新关联记录,但它只更新触发它的模型记录或直接模型没有受查询影响的关联模型。

执行此操作的任何途径

return db.product.findById( 75759,{
                include: [
                    {
                        model: db.productDescription
                    }
                ]})
            .then(product => {
                var rahulpro = {};
                Object.assign(rahulpro,product);
                // console.log(rahulpro.product_description.description);
                rahulpro.name = "44444";
                rahulpro.product_description.dataValues.description = "rahul";
                product.updateAttributes(rahulpro);
              });

您期望发生什么?

我们想要更新描述模型的数据

实际发生了什么?

没有更改描述数据库

数据库版本: mysql 5.7 Sequelize版本: 4.8.3

1 个答案:

答案 0 :(得分:2)

我使用Sequelize有一个非常类似的问题。经过几个小时的调查,我发现没有很好的方法可以处理通过表格附加的数据。

对于您尝试执行的操作,您必须执行2个查询,从产品表中查找product实例,然后查询product_description表{ {1}}。

然后将更改写入描述实例,然后写入产品实例。

这是ORM在我的项目中的缺点,对于更复杂的查询,我们开始使用原始续集,因为它让我们能够做这样的事情。