【发布时间】:2017-01-01 06:47:55
【问题描述】:
我有两个表(用户、标签),它们通过连接实体(user_tag)通过 belongsToMany 关系相互连接:
sequelize.define('tag', {
id: {
type: DataTypes.INTEGER,
autoIncrement: true,
primaryKey: true
},
type: {
type: DataTypes.STRING
}
}, {
classMethods: {
associate: function (models) {
this.belongsToMany(models.user, {as: "users", through: models.user_tag });
},
}
}
sequelize.define('user', {
id: {
type: DataTypes.INTEGER,
autoIncrement: true,
primaryKey: true
},
name: {
type: DataTypes.STRING,
},{
classMethods: {
associate: function (models) {
this.belongsToMany(models.tag, { as:"tags", through: models.user_tags });
}
}
}
sequelize.define('user_tag', {
type: DataTypes.STRING,
param1: DataTypes.INTEGER,
priority: DataTypes.INTEGER
}, {
freezeTableName: true,
paranoid: true
});
现在,用户可以更新他的所有标签,包括关于连接实体 (user_tag) 的所有特定信息,例如优先级和参数 1。
我知道 setAssociation [ 例如user.setTag(myTags) ] 但是,如何设置匹配的 param1 和 priority 属性?
【问题讨论】:
标签: mysql sequelize.js