如何通过EmberJS中的belongsTo关系属性过滤模型

时间:2016-06-28 13:58:51

标签: ember.js

我正在尝试过滤findAll查询以仅获取没有关系的元素。

我的模型由两个类创建:

元素

export default Model.extend({
    position: attr('number'),
    name: attr('string'),
    shared: attr('boolean', { defaultValue: false }),
    stack: belongsTo('stack')
});

堆栈

export default Model.extend({
  position: attr('number'),
  name: attr('string'),
  shared: attr('boolean', { defaultValue: false }),
  element: hasMany('element')
});

我尝试按属性堆栈filterBy('stack', null)filterBy('stack.content', null)进行过滤,但它们没有运行。

关于如何按关系过滤的任何想法和帮助?

1 个答案:

答案 0 :(得分:0)

在寻找信息后,解决方案就是:

var elements = new Ember.RSVP.Promise(function(resolve) {
  that.store.findAll('element').then(function(elements) {
    resolve(elements.filterBy('stack.content', null));
  })});

如果您需要获取关系中的元素,则需要访问content属性才能比较该值。