返回hasMany of hasMany - LSAdapter

时间:2014-10-13 13:52:44

标签: ember.js

我不确定如何在Ember中进行更复杂的查询。例如,如果公司有很多标签,而标签有很多请求,我如何获得公司订阅的所有标签的所有请求?这些方面的东西不起作用......

var requests = company.get('tags').then(function(tags){
                tags.forEach(function(tag){             
                    return tag.get('requests');
                });
            });

这里我可以console.log每个标签,但是如何获得返回所有请求的路由?我能做的是加载这些请求并返回store.all(' request')但这不是很理想......

1 个答案:

答案 0 :(得分:1)

您需要创建一个新数组并手动填充它。

如果您使用的是模型钩子,它将是这样的:

return company.get('tags').then(function(tags){
  var ret = [];
  tags.forEach(function(tag){             
     ret.pushObjects(tag.get('requests'));
  });
  return ret;
});

如果请求是异步的,并且您想要记录而不是承诺,那么您需要获取所有承诺并等待它们,然后将这些结果添加到集合中。