5

我正在为会计部门构建仪表板应用程序。

用户将选择一个月份,并查看该月份符合特定条件的所有公司。路线将是

/:month_id                         a summary page
/:month_id/companies               more details about each company
/:month_id/companies/:company_id   all details about a single company

理想情况下,我会有一个month模型hasMany company。唯一的问题是,公司将在几个月后出现。

如果我错了,请纠正我,但这是否意味着如果一家公司已经在商店中,当请求新月份时,它将从商店而不是服务器中获取该公司的数据?每个月的数据都会不同,所以这对我不起作用。

我想在这个应用程序中,每个公司的 id 实际上是它们正常​​的整数 id 加上所选月份。所以解决这个问题的一种方法是给每个公司一个像'15-Mar-2013'.

或者,我可以只通过原始数据传递每个月的companies数据,并对普通数组进行转换。但是,这样做的问题是我必须计算公司的汇总(除了整个月),将这两件事分开会非常好。如果我有一个完全独立的 Company 模型,我可以在模型中进入城镇:

App.Company = DS.Model.extend({
    month: DS.belongsTo('App.Month'),
    name: DS.attr('string'),
    contracts: DS.hasMany('App.Contract'),

    totalRevenue: function() {
        return this.get('contracts')
            .filterProperty('type', 'newSetup')
            .getEach('feeChange').reduce(function(accum, item) {
                return accum + item;
            }, 0);
    }.property('contracts.@each.feeChange'),

    ...additional aggregation functions
});

你怎么看?

4

1 回答 1

0

几个月来拥有公司对我来说没有任何意义,这就是你们的month[1]->[N]company关系所表明的。

您要说的是,您正在寻找在一个月内具有特定标准的所有公司。选择的月份只是搜索条件的一部分。

于 2013-11-19T15:45:23.343 回答