2013-07-25 68 views
5

Tôi đang xây dựng một ứng dụng bảng điều khiển cho một bộ phận kế toán.Mô hình hóa các đối tượng không có id trong dữ liệu ember

Người dùng sẽ chọn một tháng và xem tất cả các công ty đáp ứng các tiêu chí nhất định trong tháng đó. Các tuyến đường sẽ

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

Lý tưởng nhất là tôi muốn có một mô hình monthhasManycompany mô hình. Vấn đề duy nhất là, các công ty sẽ xuất hiện trong nhiều tháng.

Sửa lỗi nếu tôi sai, nhưng điều này có nghĩa là nếu một công ty đã có mặt trong cửa hàng, khi yêu cầu tháng mới, dữ liệu của công ty đó sẽ lấy dữ liệu từ cửa hàng thay vì từ máy chủ? Các dữ liệu sẽ khác nhau cho mỗi tháng, do đó, điều này sẽ không làm việc cho tôi.

Tôi giả sử trong ứng dụng này, mỗi id của công ty thực sự là id nguyên, bình thường cộng với tháng đã chọn. Vì vậy, một cách xung quanh điều này sẽ là cung cấp cho mỗi công ty một id như '15-Mar-2013'.

Hoặc, tôi chỉ có thể chuyển mỗi tháng companies dữ liệu qua nguyên và thực hiện phép biến đổi trên mảng đồng bằng. Vấn đề với điều này, mặc dù, là tôi sẽ phải tính toán tổng hợp trên các công ty (ngoài cả tháng), và nó sẽ rất tốt đẹp để giữ cho hai điều riêng biệt. Nếu tôi có mô hình Công ty hoàn toàn riêng biệt, tôi có thể chỉ cần đi đến thị trấn trong mô hình:

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('[email protected]'), 

    ...additional aggregation functions 
}); 

Bạn nghĩ sao?

+1

Nếu dữ liệu cho công ty khác nhau mỗi tháng thì bản ghi không phải là công ty. Đó là một 'CompanyReport' hoặc một cái gì đó. –

+0

Đồng ý, nhưng vẫn còn - làm thế nào để giải quyết vấn đề? Chỉ định một id tùy ý cho 'CompanyReport'? 'CompanyReport' về cơ bản là một ảnh chụp nhanh được lọc của một số bộ dữ liệu máy chủ. –

Trả lời

0

Điều đó không có ý nghĩa gì đối với tôi rằng các tháng của công ty sở hữu, đó là những gì mối quan hệ của bạn cho thấy mối quan hệ month[1]->[N]company của bạn.

Điều bạn muốn nói là bạn đang tìm kiếm tất cả các công ty có các tiêu chí nhất định xảy ra trong vòng một tháng. Tháng được chọn chỉ là một phần của tiêu chí tìm kiếm.

+0

Đồng ý nhưng đó là nhiều hơn một 'MonthlyReport', và với tôi mà không có ý nghĩa. Trong trường hợp đó, làm thế nào để giải quyết vấn đề? –

+0

Nếu bạn tìm kiếm một báo cáo có thể đánh dấu, hơn tôi có thể làm một cái gì đó như "/ công ty/báo cáo /: reportName /: yyyy /: mm" để xác định báo cáo cụ thể. Hoặc "/ reports/periodic /: yyyy /: mm /: reportName" hoặc "/ reports/monthly /: yyyy /: mm /: name ' –

+0

Tôi đang sử dụng: id tháng là: yyyy /: mm (nó sẽ để trở thành một cái gì đó giống như 'Jan-2013'. Vì vậy, tôi vẫn không biết làm thế nào để giải quyết vấn đề. –

Các vấn đề liên quan