2013-08-18 46 views
1

這是我不清楚有什麼區別下列2種查找方法之間:Ember數據:find和findById有什麼區別?

model: function (params) { 
    return App.Publication.findById(params.publication_id); 
    }, 

model: function (params) { 
    return App.Publication.find(params.publication_id); 
    }, 

我使用一個transition.retry的findbyId方法時所遇到的問題;在這種情況下,該模型沒有加載轉換時造成的錯誤......又見Ember: route ID is lost after a transition.retry() - Am I doing something wrong?

回答

4

我認爲你是在談論DS.Store,因爲DS.Model沒有findById方法。

店內的findfindById之間的區別在於findById就像名稱所示:將通過id查找數據。並發現有一個多態的方式找到它在你的參數記錄:

  • 調用store.find(App.Publication,1/* *串/數),將一個[執行store.findById
  • 隨着商店.find(App.Publication),將執行store.findAll
  • 和store.find(App.Publication,{名稱: '湯姆'}),調用store.findQuery

DS.Model.find有一個別名store.find,所以要創建一個findById,只需調用App.Publication.find(1/* number of string * /)

+0

我的確在這裏感到困惑。不應該在模型上使用findById。謝謝。 – cyclomarc

相關問題