ActiveRecord,如何选择空字段

时间:2012-05-27 09:04:40

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord

我正在尝试使用空last_name计算所有User。

我正在尝试这些但是它们不起作用

User.where("last_name = ?", "").count
User.where("last_name = ?", nil).count

调用all对抗nil的工作,但我仍然需要选择last_name为空的那些。

User.where("last_name != ?", nil).count

2 个答案:

答案 0 :(得分:6)

User.where(:last_name => nil).count

或使用ARel:

User.where(User.arel_table[:last_name] == nil).count

答案 1 :(得分:1)

对于mysql可能:

User.where("last_name is null").count

否则可能:

User.find_all_by_last_name(nil).count