我不确定如何在Ember中进行更复杂的查询。例如,如果公司有很多标签,而标签有很多请求,我如何获得公司订阅的所有标签的所有请求?这些方面的东西不起作用......
var requests = company.get('tags').then(function(tags){
tags.forEach(function(tag){
return tag.get('requests');
});
});
这里我可以console.log每个标签,但是如何获得返回所有请求的路由?我能做的是加载这些请求并返回store.all(' request')但这不是很理想......
答案 0 :(得分:1)
您需要创建一个新数组并手动填充它。
如果您使用的是模型钩子,它将是这样的:
return company.get('tags').then(function(tags){
var ret = [];
tags.forEach(function(tag){
ret.pushObjects(tag.get('requests'));
});
return ret;
});
如果请求是异步的,并且您想要记录而不是承诺,那么您需要获取所有承诺并等待它们,然后将这些结果添加到集合中。