Ember-Data - 过滤hasMany关系的对象

时间:2014-09-02 09:03:34

标签: javascript ember.js ember-data relationship

Ember 1.7 Ember-Data 1.0.9 Beta 灯具适配器 Yo Ember-generator

我有一个用户模型和一周模型。每个用户有x周,一周有1个用户。 (这是一个职责名册应用程序)。

我有一周的概述,向所有用户显示每个用户当前所选的日历周。 所以我必须只选择每个用户的选定周。如果他还没有日历周,我必须创建一个空日。

问题是:我如何过滤路由器,模型或控制器中的关系,这样我才能得到当前需要的那一周?我认为问题是,我没有以正确的方式使用过滤器或filterBy函数。

用户模型

BuchixDienstplan.User = DS.Model.extend({
    name: DS.attr('string'),
    weeks: DS.hasMany('week', {async:true}),
    phone: DS.attr('string'),
    handy: DS.attr('string'),
    mail: DS.attr('string')
});

周模型

BuchixDienstplan.Week = DS.Model.extend({
    kwyear: DS.attr('number'),
    mo: DS.attr('string'),
    di: DS.attr('string'),
    mi: DS.attr('string'),
    do: DS.attr('string'),
    fr: DS.attr('string'),
    sa: DS.attr('string'),
    so: DS.attr('string'),
    user: DS.belongsTo('user')
});

用户路由

BuchixDienstplan.UsersRoute = Ember.Route.extend({
    model: function(params) {
        users = this.store.filter('user')
        return users
    }
});

在前端,用户可以选择要显示的周。 我显示所有用户的列表以及所选配置的周。对于每个用户,我只需要一个特殊的周(例如,2014年的日历周1,kwyear = 12014) 那么如何过滤用户模型的关系呢?

1 个答案:

答案 0 :(得分:0)

答案是

Ember.computed.filterBy

http://emberjs.com/api/#method_computed_filterBy