【问题标题】:Rails 3: How to find records with field possibly equals to nil?Rails 3:如何查找字段可能等于 nil 的记录?
【发布时间】:2011-09-21 13:09:54
【问题描述】:

我想找到所有SongWriters 与maiden_name 等于my_maiden_name?

注意:my_maiden_name可能是nil

我试过了:

SongWriter.where("maiden_name = ?", my_maiden_name)

除了my_maiden_name = nil.

my_maiden_name = nil时,生成的查询为:

SELECT `song_writers`.* FROM `song_writers` WHERE (maiden_name = NULL)

而不是:

SELECT `song_writers`.* FROM `song_writers` WHERE maiden_name IS NULL

如何概括活动记录查询以包含案例my_maiden_name = nil?

【问题讨论】:

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


    【解决方案1】:

    使用哈希语法。 ActiveRecord 将为您完成转换。

    SongWriter.where(:maiden_name => my_maiden_name)
    

    当my_maiden_name 为nil 时,它将使用IS NULL。否则它将使用=。

    【讨论】:

    • 正是我想要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-04-01
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    相关资源
    最近更新 更多