我想找到所有 maiden_name
等于 my_maiden_name
的 SongWriter
吗?
注意: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
?
最佳答案
使用哈希语法。 ActiveRecord 将为您进行转换。
SongWriter.where(:maiden_name => my_maiden_name)
当 my_maiden_name
为 nil
时,它将使用 IS NULL
。否则它将使用 =
。
关于mysql - rails 3 : How to find records with field possibly equals to nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7500311/