240910
db:mysql user和task是一对多关系 User: sequelize.define("User", { username: DataTypes.STRING }, { classMethods: { associate: function(models) { User.hasMany(models.Task) } } });
Task: sequelize.define("Task", { title: DataTypes.STRING }, { classMethods: { associate: function(models) { Task.belongsTo(models.User, { onDelete: "CASCADE", foreignKey: { allowNull: false } }); } } });
当我查询出一个user的instance的时候 models.User.find({ where :{ id : '1' }, include: [ models.Task ] }).then(function(a) { a.Tasks[0].title = 'cnodejs'; a.Tasks[0].save(); //这样能保存user对应的第一个task的title a.save();//这样则不能保存修改的task值 }); 我知道原因大概是在save或者update操作之前,会判断属性是否change过,然而请问有没有什么方法可以实现当我通过user对象修改其task的值,直接通过保存user对象就能实现task的级联修改?