मुझे आश्चर्य है कि रेल में एकाधिक ActiveRecord ऑब्जेक्ट्स के परिणामों को गठबंधन करने का कोई प्रभावी तरीका है या नहीं। उदाहरण के लिए, मैं तीन अलग-अलग तालिकाओं में तीन अलग-अलग कॉल कर सकता हूं, और मैं परिणामों को संयुक्त करना चाहता हूं, और एक सामान्य कॉलम द्वारा क्रमबद्ध किया जाता हूं।ActiveRecord ऑब्जेक्ट्स को कैसे गठबंधन करें?
यहाँ कि उम्मीद है कि समझना आसान मेरे सवाल कर देगा एक सुपर बुनियादी कोड उदाहरण है:
@results1 = Table1.find(:all)
@results2 = Table2.find(:all)
@results3 = Table3.find(:all)
@combined_results_sorted_by_date_column = (how?)
दूसरों के द्वारा सुझाव दिया गया है, यहाँ समस्या का एक ही समाधान है।
@combined_results = @result1 + @result2 + @result3
@combined_results.sort! {|x,y| x.date <=> y.date}
क्या होगा यदि मैं तिथि से सॉर्ट करना चाहता हूं, लेकिन तालिका 3 दिनांक के अनुसार "बनाया_ऑन" कॉलम को संदर्भित करता है?
मेरे पास एक समस्या प्रबंधन अनुप्रयोग में एक समयरेखा के लिए उपयोग, संयुक्त टिप्पणियां, स्थिति, और काम करता है। – dangerousdave
इस मामले में उन्हें सभी को एक विशिष्ट इंटरफ़ेस का जवाब देना होगा या एक में मैप किए जाने का एक तरीका होगा। मुख्य बिंदु यह है कि "डेटाबेस टेबल" के संदर्भ में इसके बारे में सोचने से आपको खराब डिजाइन में ले जाया जा रहा है। मैं यह इंगित करने की कोशिश नहीं कर रहा था कि आप अलग-अलग स्थानों से डेटा का उपयोग न करें, केवल पूछताछ करें कि आप इसके बारे में कैसे सोचते हैं/सोचते हैं। –