如何返回模型关联数组的单个成员?
问题描述:
我有一个hasMany关系,我想从一个成员的属性值中选择一个成员。如何返回模型关联数组的单个成员?
该示例是一个证书有多个发行,我想获得最新的基于start属性。但即使当我尝试返回关联中的第一项时,我也无法在模板中显示任何内容。
App.IssuanceModel = DS.Model.extend({
start: DS.attr(),
end: DS.attr()
});
App.CertificateModel = DS.Model.extend({
issuances: hasMany('issuance', {async: true}),
currentIssuance: function(){
this.get('issuances').then(function(issuances){
return issuances.objectAt(0);
});
}.property('[email protected]')
});
而且在证书模板
{{currentIssuance.start}}
我什么也没得到。
答
@ Kingpin2k的回答让我走错了路。我可以使用firstObject
财产发行的排序阵列上,因此,而不是试图计算currentIssuance
我可以排序:
sortedIssuances: function(){
return this.get('issuances').sortBy('start');
}.property('[email protected]'),
而且在模板刚刚得到的第一个对象。
{{sortedIssuances.firstObject.start}}
答
你的回报是异步发生的,所以它真的返回undefined,因为你不返回任何东西。只需使用firstObject
即可。
{{issuances.firstObject.start}}
并没有解决我得到的最新发行 – Weston 2014-10-05 21:25:10
它解决你的问题的问题“我如何返回一个模型关联数组的一个成员?” – Kingpin2k 2014-10-05 21:56:43