भीतर मैं एक साधारण मॉडलकैसे करना है AREL में सबक्वेरी पर मिलती रेल
class User
has_many :logs
class Logs
विदेशी कुंजी logs.user_id के माध्यम से हमेशा की तरह संबंधित है। मैं एरियल का उपयोग करके निम्नलिखित करने की कोशिश कर रहा हूं और एरियल दस्तावेज़ के अनुसार इसे काम करना चाहिए।
u_t = Arel::Table::new :users
l_t = Arel::Table::new :logs
counts = l_t.
group(l_t[:user_id]).
project(
l_t[:user_id].as("user_id"),
l_t[:user_id].count.as("count_all")
)
l_t.joins(counts).on(l_t[:id].eq(counts[:user_id]))
जब मैं यह है कि मैं त्रुटि
TypeError: Cannot visit Arel::SelectManager
मिलता है हालांकि अरेल explicitly suggests के लेखक कि अरेल बात इस तरह का कर सकते हैं।
कृपया कच्चे एसक्यूएल, एक अन्य प्रकार की एरियल क्वेरी आदि के साथ एक ही प्रश्न कैसे प्राप्त कर सकते हैं, इस पर प्रतिक्रियाएं न लिखें। यह पैटर्न है जो मुझे इस क्वेरी के विशिष्ट परिणामों में दिलचस्पी नहीं है।
'l_t [: आईडी] .eq (मायने रखता है [: user_id]) 'क्या यह काम करता है? मेरा मतलब है, लॉग की आईडी उपयोगकर्ता की आईडी के बराबर क्यों होनी चाहिए? –