मैं एकाउंटिंग विभाग के लिए डैशबोर्ड एप्लिकेशन बना रहा हूं।एम्बर डेटा में कोई आईडी वाले मॉडलिंग ऑब्जेक्ट्स
उपयोगकर्ता एक महीने का चयन करेगा, और उन सभी कंपनियों को देखें जो उस महीने में कुछ मानदंडों को पूरा करते हैं। मार्गों हो जाएगा
/: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
मॉडल होगा। एकमात्र समस्या यह है कि कंपनियां कई महीनों में दिखाई देंगी।
अगर मैं गलत हूं, तो मुझे सही करें, लेकिन इसका मतलब यह नहीं है कि यदि कोई कंपनी पहले से ही स्टोर में है, तो जब कोई नया महीना अनुरोध किया जाता है, तो वह उस कंपनी के डेटा को सर्वर से स्टोर से ले जाएगा? प्रत्येक माह के लिए डेटा अलग होगा, इसलिए यह मेरे लिए काम नहीं करेगा।
मुझे लगता है कि इस एप्लिकेशन में प्रत्येक कंपनी की आईडी वास्तव में उनकी सामान्य, पूर्णांक आईडी और चयनित माह है। तो इस के आसपास एक तरीका प्रत्येक कंपनी को '15-Mar-2013'
जैसे आईडी देना होगा।
वैकल्पिक रूप से, मैं कच्चे सरणी पर कच्चे और परिवर्तन के माध्यम से प्रत्येक महीने के companies
डेटा को पास कर सकता था। हालांकि, इसके साथ समस्या यह है कि मुझे कंपनियों (पूरे महीने के अतिरिक्त) पर कुल गणना करना होगा, और उन दोनों चीजों को अलग रखना बहुत अच्छा होगा। अगर मेरे पास पूरी तरह से अलग मॉडल मॉडल था, तो मैं मॉडल के भीतर बस शहर जा सकता था:
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
});
आपको क्या लगता है?
यदि कंपनी के लिए डेटा हर महीने अलग होता है तो रिकॉर्ड एक कंपनी नहीं है। यह एक 'कंपनी रिपोर्ट' या कुछ है। –
सहमत हैं, लेकिन फिर भी - समस्या को हल करने के लिए कैसे? 'कंपनी रिपोर्ट' में एक मनमानी आईडी असाइन करें? 'CompanyReport' अनिवार्य रूप से सर्वर डेटा के कुछ सेट का एक फ़िल्टर स्नैपशॉट है। –