次のファインダはIS NULL
を出力します。ActiveRecord IS NOT NULL SQLファインダ
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
を印刷する方法が見つかりませんでしたか?
次のファインダはIS NULL
を出力します。ActiveRecord IS NOT NULL SQLファインダ
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
を印刷する方法が見つかりませんでしたか?
最も簡単な、慣用のActiveRecordソリューション:
User.where.not(id: nil)
注: 'rails> = v4.0.2'でのみ動作します。参照:http://apidock.com/rails/ActiveRecord/QueryMethods/WhereChain/not – morgents
は
User.where.not(id: nil)
は、古いバージョンのために働くレール
User.where("id IS NOT NULL")
4のために動作します。これは、あなたの仕事を行う必要があります
User.where("id IS NOT NULL")
を試してみてください。
これはhttp://stackoverflow.com/a/27613775/38765(これは最初に回答しました)とほぼ同じですが、Rails 3では動作しません。 –
Railsのあなたは、特定のIDを除外するために探している場合も、この
User.where("id is not NULL")
を試してみて、意志以下nilの値を含めることができます4
仕事
User.where("id is NULL or id != 'excluded_id'")
重複http://stackoverflow.com/questions/4252349/rail-3-where-condition-using-not-null – Vache
この質問はあなたの答えです - http://stackoverflow.com/questions/4252349/rail-3- where-condition-using-not-null – ipr101