JSFiddle - http://jsfiddle.net/9gA4y/1/
I有以下模型:
contact => (many2many) => tags
contact => (one2many) => addressEmber数据模型:
App.Contact = DS.Model.extend({
name: attr('string'),
tags: hasMany('App.Tag'),
addresses: hasMany('App.Address')
});
App.Address = DS.Model.extend({
street: attr('string'),
country: attr('string'),
contacts: belongsTo('App.Contact')
})
App.Tag = DS.Model.extend({
name: attr('string'),
contacts: hasMany('App.Contact')
});我想出了添加新的联系人记录
发布于 2013-03-19 17:58:18
hasMany关系可以通过addObject、addObjects或removeObject进行操作。
contact.get('addresses').pushObject(address);
contact.get('addresses').removeObject(address);您也可以在地址上设置联系人。
address.set('contact', contact);
address.set('contact', null);此外,您还注意到,对于belongsTo关联(contact而不是contacts),应该使用单数形式:
App.Address = DS.Model.extend({
street: attr('string'),
country: attr('string'),
contact: belongsTo('App.Contact')
});发布于 2013-03-17 19:00:51
尝试:
var contact = App.Contact.find(1),
address = App.Address.find(1),
tag = App.Tag.find(1);
contact.get('addresses').addObject(address);
contact.get('tags').addObject(tag);
this.get('store').commit(); //saves address and tag to contact
contact.get('tags').removeObject(tag);
this.get('store').commit(); //removes tag from contacthttps://stackoverflow.com/questions/15458301
复制相似问题