续集-删除或更新多对多关联

时间:2018-06-25 14:12:33

标签: javascript express orm many-to-many sequelize.js

在我的Sequelize模型中,我在一个Votes的联接表中有很多关联,当UserResponse进行投票时,该关联会存储,并存储投票,true赞成,false赞成。

投票模型和关系定义如下:

// vote.js
module.exports = (sequelize, DataTypes) => {
  return sequelize.define('Vote', {
    upVote: {
      type: DataTypes.BOOLEAN,
      allowNull: false
    }
  })
}

// user.js
models.User.belongsToMany(models.Response, {
  through: models.Vote,
  as: 'Votes'
})

// response.js
models.Response.belongsToMany(models.User, {
  through: models.Vote,
  as: 'Votes'
})

一切正常,直到用户更改投票为止。如果按下了上/下投票按钮,并且正在提交与该用户已经提交的值不同的值,那么我需要以某种方式更新联接表项,或者删除它并创建另一个。问题在于,尝试在表决中使用“销毁”或“更新”会导致未知的方法错误。处理这个问题的正确方法是什么?

0 个答案:

没有答案