使用Sequelize/Node js的魔术方法更新关联table的字段

Update a field of an associate table using the magic method of Sequelize/Node js

我有一个table叫Orders,另一个table叫Cupons,这个tables有一个多对一的关联,Ordes有很多cupons,cupons属于order,当我将 cupons 关联到订单时,我需要更新我的 cupom 的状态,我试过这种方法但不起作用

await item.addCupons(cupom.id, { // the item is the order created 
            through: {
                afiliado_id: afiliadoId, // and update the afiliado id 
                status: 'validado' // update de status of cupon to 'validado'
            }
        })
    ````

您只能create 父项和子项使用一种方法进行记录,而不能update 同时进行。您需要为 Order 项显式调用 update

await Cupon.update({
  afiliado_id: afiliadoId,
  status: 'validado'
}, {
 where: {
   id: cupom.id
 }
})
await item.addCupons(cupom.id)

through 选项仅适用于 many-to-many 关系。