【发布时间】:2017-12-12 20:08:58
【问题描述】:
我有一个场景,我试图从具有多对多关系的表中删除一条记录,以及连接我的两个表的联结(通过)表中的匹配 recordId。我知道有set 和get 方法可以为一个表创建记录,然后在through 表中自动创建关系,但是有没有办法delete?
关系如下:
用户
User.belongsToMany(db.Organization, { through: 'organization_member', foreignKey: 'user_id'})
组织
Organization.belongsToMany(db.User, { through: 'organization_member', foreignKey: 'organization_id'})
请注意,Sequelize 将两个 foreignKey 别名为驼峰大小写,这就是错误消息与关联中提到的列不同的原因。
我正在尝试在user 表上使用销毁命令,其中任何用户都与与当前用户会话相关联的组织相关联。不幸的是,以下命令不起作用,因为organization_id 不存在于user 表上,而是organization_member 联结表上。有人可以帮忙吗?
deleteUsers: function(organizationId, t){
console.log("Step 10: Delete Users");
//DELETE users
return models.User.destroy({
where: {
organizationId: organizationId
}
},{ transaction: t })
}
错误:
{ [SequelizeDatabaseError: column "organizationId" does not exist]
【问题讨论】:
标签: sequelize.js