是否可以使用 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');
}
我有两个不同的模型,它们之间有 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');
}