2011-08-06 9 views
13

निम्न खोजक IS NULL प्रिंट करता है।ActiveRecord नल एसक्यूएल खोजक

User.where(:id =>nil) #=> [] 
User Load (0.5ms) SELECT `users`.* FROM `users` WHERE `users`.`id` IS NULL ORDER BY created_at DESC 

लेकिन मैं बाहर IS NOT NULL एक मुद्रित करने के लिए कैसे नहीं मिल सकता है?

+1

डुप्लिकेट http://stackoverflow.com/questions/4252349/rail-3-where- शर्त-using-not-null – Vache

+0

इस प्रश्न का आपका उत्तर है - http://stackoverflow.com/questions/4252349/rail-3- जहां-हालत-उपयोग-न-शून्य – ipr101

उत्तर

15

सरल, मुहावरेदार ActiveRecord समाधान:

User.where.not(id: nil) 
+1

नोट : केवल 'रेल> = v4.0.2' के साथ काम करता है। देखें: http://apidock.com/rails/ActiveRecord/QueryMethods/WhereChain/not – morgents

26

User.where("id IS NOT NULL")

प्रयास करें यह आपके काम करना चाहिए

5

User.where.not(id: nil) रेल 4.

User.where("id IS NOT NULL") के लिए काम करेंगे पुराने संस्करणों के लिए काम करेंगे।

+0

यह http://stackoverflow.com/a/27613775/38765 (हालांकि आपने पहले उत्तर दिया) जैसा ही कम या कम है, और रेल 3 पर भी काम नहीं करता है। –

0

रेल 4

आप इस

User.where("id is not NULL") 

भी कोशिश कर सकते हैं आप विशेष आईडी बाहर करने के लिए देख रहे हैं और इच्छा निम्नलिखित शून्य मान शामिल काम

User.where("id is NULL or id != 'excluded_id'")