一次可以更新父模型和相关模型上的属性吗?我遇到麻烦让它工作,并没有找到任何完整的例子.我不知道我的代码是否有问题,或者如果它不打算按照我的期望工作.我尝试将onUpdate:’cascade’添加到我的hasMany定义中,但似乎没有任何作用.
楷模:
module.exports = function( sequelize,DataTypes ) {
var Filter = sequelize.define( 'Filter',{
id : {
type : DataTypes.INTEGER,autoIncrement : true,primaryKey : true
},userId : DataTypes.INTEGER,filterRetweets : DataTypes.BOOLEAN,filterContent : DataTypes.BOOLEAN
},{
tableName : 'filter',timestamps : false
}
);
var FilteredContent = sequelize.define( 'FilteredContent',{
id : {
type : DataTypes.INTEGER,primaryKey : true
},filterId : {
type : DataTypes.INTEGER,references : "Filter",referenceKey : "id"
},content : DataTypes.STRING
},{
tableName : "filteredContent",timestamps : false
}
);
Filter.hasMany( FilteredContent,{ onUpdate : 'cascade',as : 'filteredContent',foreignKey : 'filterId' } );
sequelize.sync();
return {
"Filter" : Filter,"FilteredContent" : FilteredContent
};
}
检索过滤器并尝试更新关联的FilteredContent对象上的属性:
Filter.find({ where: { id: 3 },include: [ { model : FilteredContent,as : 'filteredContent' } ]
}).success ( function( filter ) {
var filteredContent = FilteredContent.build( {
filterId : filter.id,id : 2,content : 'crap'
});
filter.save();
});
这将导致只有Filter对象中的属性被更新.如何让它更新FilteredContent中的属性?
另外,在定义我的模型之后,是否需要sequelize.sync()?我不清楚究竟应该做什么.我可以检索我的对象与关联没有它.我绝望地将其添加到我的代码,以使更新工作,但我不知道是否真的有必要.
谢谢