Ember数据:通过id过滤hasMany而不提取对象

时间:2014-03-28 13:39:15

标签: ember.js ember-data

我有一个带有hasMany集合的模型,我想在给定对象的ID的情况下确定该集合中是否存在对象。

var searchFor = "someid";
var filtered = parent.get('children').filter(function (item) { return item.get('child.id') == searchFor; });
var exists = filter.get('length') > 0;

但是,这会在每次迭代过滤时向child端点发出远程请求,这是不必要的,因为它已经知道了ID。有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

我一直在处理同样的问题。我提出的最好的事情是:

var searchFor = "someid";
var filtered = parent.get('children').filter(function (item) {
    return item.get('data').child.id == searchFor;
});
var exists = filtered.get('length') > 0;

这有效(即没有提出请求),但感觉不对。这适用于Ember 1.4.0和Ember Data 1.0.0-beta.3。