我有一个实例,我有用户和角色.我有以下内容:
var User = sequelize.define("Users",{ username: DataTypes.STRING,password: DataTypes.STRING,}); var Role = sequelize.define("Role",{ role: DataTypes.STRING }); var UsersRole = sequelize.define("UsersRole"); User.belongsToMany(Role,{through: UsersRole});
使用UserId和RoleId列为DB创建UsersRoles表.这一切都运行正常,但现在我希望能够更新用户角色,我无法解决如何做到这一点!到目前为止,我已经尝试过以下运气:
models.Users.findAll({ where: { id: req.params.id },include: [{ all: true }] }).then(function(dbUser){ dbUser[0].Roles[0].updateAttributes({ RoleId: req.body.role,},{ where: { UserId : req.params.id } } ).then(function (result) {...
总之,我想要做的就是能够更改用户角色,因此更新“UsersRoles”表并更改给定UserId的RoleId.我似乎无法弄清楚如何通过任何sequelize语法到达UsersRoles表!
我可以写一些原始sql,但感觉不对?
编辑
我只想更新用户角色,如果该表具有:
| UserId | RoleId | ------------------- | 1 | 1 |
我希望能够将其更改为:
| UserId | RoleId | ------------------- | 1 | 2 |
但我无法弄清楚这样做的代码!