मैंने रेल के क्वेरी इंटरफ़ेस पर रूबी के साथ कुछ जटिल प्रश्न (कम से कम मेरे लिए) लिखे हैं:
watched_news_posts = Post.joins(:news => :watched).where(:watched => {:user_id => id})
watched_topic_posts = Post.joins(:post_topic_relationships => {:topic => :watched}).where(:watched => {:user_id => id})
ये दोनों ही प्रश्न अपने आप ठीक होते हैं। दोनों पोस्ट ऑब्जेक्ट वापस करते हैं। मैं इन पोस्ट्स को एक सिंगल एक्टिवेशन में जोड़ना चाहूंगा। चूंकि कुछ बिंदु पर सैकड़ों हजारों पद हो सकते हैं, इसलिए इसे डेटाबेस स्तर पर करने की आवश्यकता है। यदि यह एक MySQL क्वेरी होती, तो मैं बस UNION
ऑपरेटर को उपयोगकर्ता कर सकता था । क्या किसी को पता है कि क्या मैं RoR के क्वेरी इंटरफेस के साथ कुछ ऐसा कर सकता हूं?
Post.watched_news_posts.watched_topic_posts
। आप जैसी चीजों के लिए स्कोप के पैरामीटर में भेजने के लिए आवश्यकता हो सकती है:user_id
और:topic
।