0

我有一个哈希,用于 SQL 查询

:profiles => {:gender => Female, :idea => ''}

它现在的设置方式是寻找性别为女性和空洞想法的个人资料。这意味着想法列中的字符串为空。我怎样才能得到完全相反的结果。我想找到想法列不为空的行。

注意:我不是在寻找 IS NOT NULL,因为字符串为空且 NOT NOT_NULL。

4

3 回答 3

3

没有办法在哈希本身内表达这一点,但您可以使用其他查询方式之一,例如

Profile.where("gender = ? and idea != ''", gender)

或者,如果您升级到 Rails 4,您可以使用该not方法来反转条件。例如

Profile.where.not(idea: '')

你可以结合多个where电话,例如

Profile.where(gender: 'Female').where.not(idea: '')
于 2013-07-09T09:49:01.757 回答
1

您可能正在寻找 !string.empty?

于 2013-07-09T09:47:37.193 回答
0

我认为这不能用哈希来完成。

但是,您可以:

where('gender != ? OR gender IS NOT ?', '', nil)
于 2013-07-09T09:45:56.013 回答