2012-12-05 39 views
8

有没有人对如何使用ember-data手动创建自连接关系有任何建议?与Ember-Data自加入

例如,如果用户有很多追随者(其他用户),那么将这种数据结构构建为ember-data最简单的方法是什么?

回答

9

我们可以发现而不会发疯的最佳方式是代理与关系对象的自连接关系,然后将其映射到用户。

因此,如果用户有很多个“用户”通过如下那么你可以做:

App.User = DS.Model.extend 
    name: DS.attr('string') 
    follows: DS.hasMany('App.Follow') 
    followers:(-> 
    @get('follows').map((data)-> App.User.find(data.get('followedUserId'))) 
).property('[email protected]') 

App.Follow = Ds.Model.extend 
    user: DS.belongsTo('App.User') 
    followedUserId: DS.attr('string') 

希望帮助!

+0

谢谢,这实际上是超级有用! – hankang

+1

说真的,你是怎么做到的。我的意思是,你是Ember开发团队的一员吗?惊人。 –