通过hasMany关系访问成员模型对象中的相关集合

access to a related collection in an ember-model object via hasMany relationship

本文关键字:集合 对象 模型 hasMany 关系 访问 成员 通过      更新时间:2023-09-26

我可能从根本上误解了如何在Ember/Ember -model中使用hasMany关系。

ember-model自述文件有以下示例

postJson = {
  id: 99,
  title: 'Post Title',
  body: 'Post Body',
  comments: [
    {
      id: 1,
      body: 'comment body one',
    },
    {
      id: 2,
      body: 'comment body two'
    }
  ]
};
App.Post = Ember.Model.extend({
  id: Ember.attr(),
  title: Ember.attr(),
  body: Ember.attr(),
  comments: Ember.hasMany('App.Comment', {key: 'comments', embedded: true})
});
App.Comment = Ember.Model.extend({
  id: Ember.attr(),
  body: Ember.attr()
});

假设,有人会做以下操作

post = App.Post.create();
post.load(1, postJson);

鉴于上述情况,现在我们可以通过get(即post.get('title'))访问各种post道具,但我如何访问评论?

post.get('comments')返回一个对象,但它不是App.Comment对象的集合,这是我所期望的。

提前感谢所有的帮助。

返回一个可迭代的集合对象,但不是数组。我正在用你的代码工作的一个例子,我将张贴它的瞬间(我很确定加载是一个私有方法,你应该在模型定义上使用加载,然后找到)。

App.Post.load(postJson); //sideloading
return App.Post.find(99);
http://jsbin.com/hocopoga/1/edit