2010-09-29 11 views
16

मुझे पोस्ट की एक श्रृंखला मिली है और मैं उन सभी पदों का चयन करना चाहूंगा जहां इसका शीर्षक आकार 30 से कम है, यह कैसे करें?ActiveRecord एक स्ट्रिंग फ़ील्ड का चयन रेल 3 में एक निश्चित लंबाई है?

Posts.where("len(title) < 30")? 

उत्तर

1

यह MySQL के साथ मेरे लिए काम करता है: Post.find (: सभी,: स्थिति => "लंबाई (शीर्षक) < 30")

36

यह काम करना चाहिए:

Post.where("length(title) < 30") 

आप # के रूप में सही ढंग से उपयोग कर रहे हैं: रेल में स्थितियां 3. आप किसी भी स्निपेट में जा सकते हैं जो सीधे आपके स्थानीय एसक्यूएल में काम करता है।

बस याद रखें कि ActiveRecord मॉडल कक्षाएं सम्मेलन द्वारा एकवचन हैं।

+0

यदि दो अंकों वाले कॉलम के सभी मानों को ढूंढने के लिए स्ट्रिंग उदाहरण के बजाय मेरे पास पूर्णांक था तो जवाब क्या होगा –

संबंधित मुद्दे