2013-07-25 6 views
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 मॉडल है जो hasManycompany मॉडल होगा। एकमात्र समस्या यह है कि कंपनियां कई महीनों में दिखाई देंगी।

अगर मैं गलत हूं, तो मुझे सही करें, लेकिन इसका मतलब यह नहीं है कि यदि कोई कंपनी पहले से ही स्टोर में है, तो जब कोई नया महीना अनुरोध किया जाता है, तो वह उस कंपनी के डेटा को सर्वर से स्टोर से ले जाएगा? प्रत्येक माह के लिए डेटा अलग होगा, इसलिए यह मेरे लिए काम नहीं करेगा।

मुझे लगता है कि इस एप्लिकेशन में प्रत्येक कंपनी की आईडी वास्तव में उनकी सामान्य, पूर्णांक आईडी और चयनित माह है। तो इस के आसपास एक तरीका प्रत्येक कंपनी को '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 
}); 

आपको क्या लगता है?

+1

यदि कंपनी के लिए डेटा हर महीने अलग होता है तो रिकॉर्ड एक कंपनी नहीं है। यह एक 'कंपनी रिपोर्ट' या कुछ है। –

+0

सहमत हैं, लेकिन फिर भी - समस्या को हल करने के लिए कैसे? 'कंपनी रिपोर्ट' में एक मनमानी आईडी असाइन करें? 'CompanyReport' अनिवार्य रूप से सर्वर डेटा के कुछ सेट का एक फ़िल्टर स्नैपशॉट है। –

उत्तर

0

यह मुझे कोई समझ नहीं आता है कि महीनों की अपनी कंपनियां, जो आपके month[1]->[N]company रिश्ते को इंगित करती है।

आप क्या कहना चाहते हैं कि आप उन सभी कंपनियों की तलाश कर रहे हैं जिनके पास एक महीने के भीतर होने वाले कुछ मानदंड हैं। चुना गया महीना खोज मानदंडों का हिस्सा है।

+0

सहमत है लेकिन यह 'मासिक रिपोर्ट' का अधिक है, और मेरे लिए यह समझ में आता है। उस स्थिति में, समस्या को हल करने के लिए कैसे? –

+0

यदि आप एक बुकमार्क करने योग्य रिपोर्ट की तलाश में हैं, तो मैं विशिष्ट रिपोर्ट की पहचान करने के लिए शायद "/ कंपनियों/रिपोर्ट /: रिपोर्टनाम /: yyyy /: mm" जैसी कुछ करता हूं। या "/ रिपोर्ट/आवधिक /: yyyy /: mm /: reportName" या "/ रिपोर्ट/मासिक /: yyyy /: mm /: name ' –

+0

मैं उपयोग कर रहा हूं: month-id as: yyyy /: mm (यह जा रहा है 'जनवरी -2013' जैसी कुछ बनने के लिए)। इसलिए मुझे अभी भी पता नहीं है कि समस्या को कैसे हल किया जाए। –

संबंधित मुद्दे