我有两种不同的模型,它们之间有hasMany / belongsTo关系。通过Emberfire订购请求常规位置(如本例中名称),这很容易。但我无法弄清楚如何用关系来做这件事
在路线的模板上,我们在路线中有Model1并在模型1上循环通过不同的位置。在内部,我们循环通过链接的模型2位置,但它们应该按日排序
模型1
export default DS.Model.extend({
name : DS.attr('string'),
model2 : DS.hasMany('model2', {async: true})
});
模型2
export default DS.Model.extend({
day : DS.attr('number'),
model1 : DS.belongsTo('model1', { async: true })
});
答案 0 :(得分:0)
当你访问async属性时,你只是访问与该关系相关联的实体,而不是执行搜索(所以没有办法,至少在没有滚动你自己的解决方案的情况下,在获取时过滤这些实体)。
处理这个的最简单方法是在你的控制器/类上有一个计算属性,它按天命令子模型。
另一个选项(如果你想让Emberfire为你处理订单)就是不依赖于延迟加载,而是直接查询子模型并按该查询中的day字段排序。
- 编辑例如 -
您想要观察所选模型的model2属性的更改,如下所示:
sortedList: Ember.computed('selectedModel.model2.[]', function() {
return this.get('selectedModel.model2').sortBy('day');
}