简单的ember.js`has-many'关系不起作用



我遇到了针对ember数据查询数据的问题。

我有三个型号:

media:哪个多个模型从 image:从media继承 note:这是标准型号。

我正在尝试获取image的所有note s,但我尝试的查询不起作用。


// imageModel.js
import Ember from 'ember';
import DS from 'ember-data';
import MediaModel from 'models/mediaModel';
export default MediaModel.extend({ 
    fileName: DS.attr('string'),
    fileExt: DS.attr('string'),
    url: DS.attr('string'),
});

// mediaModel.js
import DS from 'ember-data';
export default DS.Model.extend({
    notes: DS.hasMany('note', { inverse: 'noteable' }),
});

// noteModel.js
import DS from 'ember-data';
import Ember from 'ember';
export default DS.Model.extend({
    category: DS.attr('string'),
    text: DS.attr('string'),
    image: DS.belongsTo('image'),
    noteable: DS.belongsTo('media-model', { polymorphic: true }),
});

我有image后,我会做image.get('notes.length'),但是即使图像确实具有与之相关联的note S,我也总是会返回0。我是用错误的方式查询这个吗?

image属于media的事实会影响我如何查询mediahasMany

谢谢

您的代码有一个错误。您在MediaModel.js中的Hasmany-Definition具有无效的模型名称。

更改

notes: DS.hasMany('note', { inverse: 'noteable' }),

to

notes: DS.hasMany('note-model', { inverse: 'noteable' }),

这是固定代码的工作跨度。检查一下。

相关内容

  • 没有找到相关文章

最新更新