在ember数据中建立动态关系

时间:2015-05-29 20:00:16

标签: ember.js ember-data

我可以访问API端点,只能获取,不能建议或应用任何修改。

这是每个api的示例模式:

var person = DS.Model.extend {
    firstName: DS.attr(),
    lastName: DS.attr()
}

var credit = DS.Model.extend {
    name: DS.attr(),
    personId: : DS.belongsTo('person')
}

var debit = DS.Model.extend {
    name: DS.attr(),
    personId: : DS.belongsTo('person')
}

我可以单独获得api / person,api / credit,api / debit。获取数据后。我想映射人与信用卡/借记卡之间的关系,类似于此...

var person = DS.Model.extend {
    firstName: DS.attr(),
    lastName: DS.attr(),
    **debits: DS.hasMany('debit'),**
    **credits: DS.hasMany('credit')**
}

如何在ember-data中完成此操作?

JSbin - http://emberjs.jsbin.com/gewowucamo/8/edit?html,js,output

2 个答案:

答案 0 :(得分:1)

你所做的一切都会奏效。使用store.push()加载数据时,它会为您构建相关关系(如果存在)。

This JSBin为您举例说明您正在做的工作。

我相信你遇到的问题可能与使用Fixtures有关 - 而且我猜它在加载数据时不会遵循相同的行为/逻辑。

正在从灰烬中移除灯具(见this PR

答案 1 :(得分:0)

您已经回答了自己的问题,因为您提供的代码应该已经有效了。