Ember数据 - 多对多关系?

时间:2016-05-22 21:33:35

标签: ember.js ember-data

我正在研究的项目在很大程度上依赖于多对多关系,但是我无法看到如何使用Ember JS中的Ember Data来实现这一目标。

我目前使用的用例由三个模型组成:

Person
Address
PersonAddress

此人之间的联系对于我目前正在进行的工作是必要的。是否有可能得到一个如何实现这一目标的例子?

1 个答案:

答案 0 :(得分:3)

显然,您正在尝试使用中间PersonAddress模型来管理多对多关系,我假设该模型与单个地址相关联。

这不是一个很好的做事方式。要查找某人的地址,您必须手动查找该人PersonAddress中的所有条目,然后从这些条目中获取地址。这种方法的问题在于,例如,当添加新地址时,您将不得不重做此查找,并确保它自动发生,以便正确更新UI。

在Person和Address上简单地建立hasMany关系要好得多。然后Ember Data将保持所有内容同步 - 比如

// models/person.js
export default DS.Model.extend({
  name: DS.attr(),
  addresses: DS.hasMany('address')
});

// models/address.js
export default DS.Model.extend({
  address: DS.attr(),
  persons: DS.hasMany('person')
});
相关问题