0

SQLクエリに使用しているハッシュがあります

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

現在の設定では、性別が女性でアイデアが空のプロファイルを探しています。アイデア列の文字列が空であることを意味します。どうすればこれを正反対にすることができますか。アイデア列が空でない行を見つけたいです。

注: 文字列が空で NOT_NULL であるため、IS 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 に答える
0

これはハッシュではできないと思います。

ただし、次のことができます。

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