ruby on rails - ActiveRecord find query with join only doesn't include data from joined table -
मेरे पास दो टेबल हैं: keyword_reports और कीवर्ड (संबंधित एआर मॉडल के साथ)।
keyword_reports में एक keyword_id कॉलम, जिसका उपयोग मैं इस तरह की कीवर्ड तालिका में शामिल होने के लिए कर रहा हूं:
KeywordReport.find (: all,: joins = & gt;: कीवर्ड,: conditions = & gt; {: page_id = & gt; ; 10})
जो keywords_reports के लिए सही ढंग से वापस रिकॉर्ड खींचती है, लेकिन इसमें शामिल कीवर्ड तालिका से डेटा शामिल नहीं है
मैंने उत्पन्न एसक्यूएल को देखने के लिए लॉग को देखा और यह कर रहा है:
का चयन करें `keyword_reports`। * से ...
के बजाय:
SELECT * से ...
जिसके लिए मुझे सभी डेटा प्राप्त करने के लिए ऐसा करने की आवश्यकता है जब मैं इच्छित रूप में स्वरूपित करने के लिए मैन्युअल रूप से एसक्यूएल को संपादित करता हूं, तो निश्चित रूप से, यह सभी डेटा को पकड़ लेता है। मैंने उपयोग करने की कोशिश की है: शामिल है और: कोई लाभ नहीं करने के लिए चयन करें
मैं क्वेरी को केवल पहले तालिका तक सीमित करने से कैसे रोकूं?
मुझे एक ही समस्या थी और इसका उपयोग करके हल किया:
: चुनें = & gt; '*'
मेरे मामले में यह काम करता है, बस तालिकाओं में उसी नाम के साथ कॉलमों की सतर्क रहें मुझे लगता है कि केवल एक कॉलम उपलब्ध होगा। इसे हल करने के लिए आप इसका उपयोग कर सकते हैं:
: चुनें = & gt; '*, Tbl1.field फ़ील्ड 1 के रूप में, क्षेत्र 2 के रूप में tbl2.field'
आशा है कि यह मददगार होगा।
Comments
Post a Comment