我有一个哈希,用于 SQL 查询
:profiles => {:gender => Female, :idea => ''}
它现在的设置方式是寻找性别为女性和空洞想法的个人资料。这意味着想法列中的字符串为空。我怎样才能得到完全相反的结果。我想找到想法列不为空的行。
注意:我不是在寻找 IS NOT NULL,因为字符串为空且 NOT NOT_NULL。
我有一个哈希,用于 SQL 查询
:profiles => {:gender => Female, :idea => ''}
它现在的设置方式是寻找性别为女性和空洞想法的个人资料。这意味着想法列中的字符串为空。我怎样才能得到完全相反的结果。我想找到想法列不为空的行。
注意:我不是在寻找 IS NOT NULL,因为字符串为空且 NOT NOT_NULL。
没有办法在哈希本身内表达这一点,但您可以使用其他查询方式之一,例如
Profile.where("gender = ? and idea != ''", gender)
或者,如果您升级到 Rails 4,您可以使用该not
方法来反转条件。例如
Profile.where.not(idea: '')
你可以结合多个where
电话,例如
Profile.where(gender: 'Female').where.not(idea: '')
您可能正在寻找 !string.empty?
我认为这不能用哈希来完成。
但是,您可以:
where('gender != ? OR gender IS NOT ?', '', nil)