我希望能够在user_id不为null的表中收集所有记录。 这就是我所拥有的,但它似乎没有起作用(即使我已经在一个单独的项目中工作):
named_scope :all_registered, :conditions => ["user_id != ?", nil]
答案 0 :(得分:8)
SQL有一个特定的运算符来检查NULL:IS NULL
和IS NOT NULL
named_scope :all_registered, :conditions => ["user_id IS NOT NULL"]
答案 1 :(得分:1)
这应该有效:
named_scope :all_registered, :conditions => "user_id IS NOT NULL"
答案 2 :(得分:0)
在Rails 4中,您可以使用 NOT条件,请参阅Active Record Query Interface
e.g:
User.where.not(id: nil)
或作为范围:
scope :all_registered, -> { where.not(user_id: nil) }