2

我在索引路径中将记录加载到我的存储中:

model: function(){
    return Ember.RSVP.hash({
        cars: this.store.query('car',{}).then(function(data){

        })
    });
}

然后我去我的汽车路线去 peekAll(无网络请求)并获取所有汽车记录:

model: function() {
    return Ember.RSVP.hash({
        cars: this.store.peekAll('car').sortBy('name')
    });
}

您会注意到我可以使用“sortBy”根据本地存储数据库中的字段对记录进行排序。

我不明白的是如何从商店中过滤或查找记录?例如,如果我想执行以下操作怎么办:

  • 按名称对所有汽车记录进行排序,然后过滤/查找汽车,使其仅返回 1998 年或以后购买的汽车
  • 过滤记录,所以我只显示“美洲虎”的汽车
  • 最多只返回 10 条记录,即使商店有超过 10 条以上的记录。

我研究了findByfilterBy,但文档似乎有点缺乏有关如何使用示例实现的详细信息。

4

1 回答 1

7

首先,如果您传递{}.query()您可能应该使用findAll.

你可以使用filter

this.store.peekAll('car')
  .filter(car => car.get('year') >= 1998)
  .sortBy('name')
  .slice(0, 10);

filterBy是如果你想过滤一个特定的值。所以如果你想要所有car的 s year 1998

this.store.peekAll('car')
  .filterBy('year', '1998');
于 2016-11-04T09:38:05.800 回答