我有一个哈希,我用它来进行SQL查询
:profiles => {:gender => Female, :idea => ''}
现在设置它的方式,它正在寻找性别女性和空想法的配置文件。意味着idea列中的字符串为空。我如何得到这恰恰相反。我想找到想法列不为空的行。
注意:我不是在寻找IS NOT NULL,因为字符串是空的而不是NOT_NULL。
答案 0 :(得分:3)
没有办法在散列本身内表达这一点,但你可以使用其他一种查询方式,例如。
Profile.where("gender = ? and idea != ''", gender)
或者如果升级到Rails 4,则可以使用not
方法来反转条件。 e.g。
Profile.where.not(idea: '')
您可以合并多个where
次来电,例如
Profile.where(gender: 'Female').where.not(idea: '')
答案 1 :(得分:1)
您可能正在寻找!string.empty?
答案 2 :(得分:0)
我认为这不能用哈希来完成。
但是你可以:
where('gender != ? OR gender IS NOT ?', '', nil)