has*_*shg 3 ember.js ember-data
JSFiddle - http://jsfiddle.net/9gA4y/1/
我有以下型号:
contact => (many2many) => tags
contact => (one2many) => address
Run Code Online (Sandbox Code Playgroud)
Ember数据模型:
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')
});
Run Code Online (Sandbox Code Playgroud)
我想出了添加新的联系人记录
hasMany关系可以通过操纵addObject,addObjects或removeObject.
contact.get('addresses').pushObject(address);
contact.get('addresses').removeObject(address);
Run Code Online (Sandbox Code Playgroud)
您也可以在地址上设置联系人
address.set('contact', contact);
address.set('contact', null);
Run Code Online (Sandbox Code Playgroud)
此外,您注意到您应该使用单数形式的belongsTo关联(contact不contacts):
App.Address = DS.Model.extend({
street: attr('string'),
country: attr('string'),
contact: belongsTo('App.Contact')
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1230 次 |
| 最近记录: |