इन मॉडलों के साथ:रेल और मैंगॉयड का उपयोग करके एसोसिएशन की "गिनती" द्वारा रिकॉर्ड कैसे प्राप्त कर सकते हैं?
Week.where(:proof.count.gt => 0)
केवल सप्ताह कई सबूत है कि खोजने के लिए:
class Week
has_many :proofs
end
class Proof
belongs_to :week
end
मैं की तरह कुछ करना चाहते हैं।
Can rails scopes filter on the number of associated classes for a given field
लेकिन इस उदाहरण में, वहाँ वीक में proof_ids जैसी कोई विशेषता है के बाद से आईडी प्रमाणों के साथ जमा हो जाती है:
एक ही जवाब है कि इसका समाधान करने लगता है। यह उदाहरण के लिए काम नहीं करता है:
Week.where(:proof_ids.gt => 0)
यह प्रश्न कैसे संभव है? संकल्पनात्मक रूप से सरल लेकिन मैं यह नहीं समझ सकता कि इसे मोंगो या मोंगोइड के साथ कैसे किया जाए।
Week.desc(:proofs.size)
लेकिन यह भी काम नहीं करता:
इसी तरह, मैं जैसे उदाहरण के लिए सबूत की संख्या से ऑर्डर करने के लिए करना चाहते हैं।
मुझे एहसास है कि काउंटर कैश मेरे विशिष्ट प्रश्नों के लिए एक विकल्प है लेकिन मैं भी क्वेरी करने में सक्षम होना चाहता हूं।
किसी भी मदद के लिए अग्रिम धन्यवाद।
आप एक टन द्वारा प्रदर्शन बढ़ाने के लिए शामिल (: सबूत) को हटा सकते हैं। वर्तमान में, आप सभी डेटा लोड कर रहे हैं: सबूत, जब आपको वास्तव में आवश्यकता होती है तो त्वरित गणना क्वेरी होती है। कोशिश करके देखो। –
@RobVolk यह कुछ पुराना कोड था! सर उठाने के लिए धन्यवाद! – Damien
यह आपको एप्लिकेशन को मार देगा क्योंकि आपको डेटाबेस से सभी प्रमाणों के साथ सभी सप्ताह प्राप्त होंगे, आपके आवेदन की स्मृति – antiqe