是否可以使用 Emberfire 对 Ember 中的 hasMany 相关数据进行排序?

Is it possible to order the hasMany relative data in Ember with Emberfire?

我有两个不同的模型,它们之间有 hasMany/belongsTo 关系。通过 Emberfire 订购请求的常规位置(如本例中的 name)很容易。但我不知道如何处理关系
在路线的模板上,我们在路线中有 Model1 并循环遍历模型 1 上的不同位置。在内部,我们循环遍历链接的 model2 位置,但它们应该按 day
排序 型号 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 })
});

当您访问异步 属性 时,您只是在访问与该关系关联的实体,而不是执行搜索(因此,至少在不推出自己的解决方案的情况下,无法过滤这些实体获取)。

处理此问题的最简单方法是在您的控制器上计算 属性 / class 按天订购子模型。

另一种选择(如果您希望 Emberfire 为您处理排序)是不依赖延迟加载,而是直接查询子模型并在该查询中按日期字段排序。

-- 编辑例如--

您想要查看所选模型的 model2 属性 的变化如下:

sortedList: Ember.computed('selectedModel.model2.[]', function() {
    return this.get('selectedModel.model2').sortBy('day');
}