Ember数据:find和findById有什么区别?

时间:2013-08-18 12:59:07

标签: ember.js ember-data

我不清楚以下两种查找方法之间的区别是什么:

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?

1 个答案:

答案 0 :(得分:4)

我认为您在谈论DS.Store,因为DS.Model没有findById方法。

商店中findfindById之间的差异就是名称所示的findById:将按ID查找数据。并找到基于参数查找记录的多态方式:

  • 调用store.find(App.Publication,1 / *字符串* /),将执行store.findById
  • 使用store.find(App.Publication),将执行store.findAll
  • 和store.find(App.Publication,{name:'Tom'}),call store.findQuery

DS.Model.find有store.find的别名,所以要创建一个findById,只需调用App.Publication.find(1 / * number of string * /)