2016-11-03 57 views
0

我加載記錄到我的商店在索引路線:灰燼商店:排序,篩選,查找記錄

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,但是文檔似乎有點缺乏關於如何使用示例實現的細節。

回答

2

首先,如果您通過{}.query(),您可能應該使用findAll

,你可以直接使用filter

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

filterBy是,如果你想在一個特定的值進行過濾。所以,如果你想全部car s與year1998

this.store.peekAll('car') 
    .filterBy('year', '1998');