mysql - Ruby on Rails Query: Joining tables and selecting multiple columns -


दो मॉडल हैं: माइक्रोप्रोस्ट और उपयोगकर्ता

"माइक्रोप्रोस्ट्स" में शामिल हैं 4 कॉलम: नाम, प्रकार, यूज़र_आईडी और आईडी

"उपयोगकर्ता" में 4 कॉलम हैं: नाम, प्रकार, पता और आईडी

माइक्रोफ़ोस्ट उपयोगकर्ता के लिए हैं; उपयोगकर्ताओं में कई माइक्रोप्रोस्ट हैं।

मुझे पता है कि प्रत्येक उपयोगकर्ता कितने माइक्रोप्रोस्ट हैं, लेकिन किसी कारण से, मैं क्वेरी को ठीक से काम करने के लिए नहीं मिल सकता है।

मैंने जो क्वेरी की कोशिश की वह है:

  User.joins (: microposts) .group ("users.id")। चयन करें ("उपयोगकर्ता। *, Count (microposts) .id) पोस्टकाउंट के रूप में ")   

यह केवल उपयोगकर्ताओं की तालिका से गुण खींचता है, लेकिन माइक्रोफ़ोस्ट तालिका से कॉलम को शामिल नहीं करता है और मैंने बनाई गई गिनती कॉलम को भी शामिल नहीं किया है। < P> कुछ कारण से,

  User.joins (: microposts) .group ("users.id")। गणना   

काम करता है लेकिन यह केवल रिटर्न करता है गिनती के साथ user.id मैं अन्य कॉलमों को भी खींचना चाहता हूं।

मैंने "शामिल" के बजाय "शामिल" का उपयोग करने की कोशिश की, लेकिन यह केवल उपयोगकर्ता तालिका के सभी कॉलम और माइक्रोफोन मेज से कोई भी रिटर्न नहीं देता।

  User.includes (: microposts) .group ("users.id")। चयन करें ("उपयोगकर्ता। *, गिनती (microposts.id) पोस्टकाउंट के रूप में")   

क्या कोई मदद कर सकता है? धन्यवाद!

आपको दोनों शामिल और की आवश्यकता है शामिल है , मुझे लगता है।

  User.joins (: microposts)। (: Microposts) भी शामिल है। समूह ( "users.id")। चयन करें ("प्रयोक्ता। *, गिनती (माइक्रोप्रोस्ट्सआईडीआईडी) पोस्टकाउंट के रूप में")    

Comments

Popular posts from this blog

c++ - why does this code produce a runtime error? -

java - Can Find the error -

maximum size of array in c -