39

私は次のものを持っています:

time_range = (1.month.ago.beginning_of_month..1.month.ago.end_of_month)

Comment.where(:created_at => time_range).count

次のようなステートメントを使用して where 句に追加するにはどうすればよいですか。

.where("user_id is not in (?)",[user_ids]).

どうすれば2つを組み合わせることができますか? ありがとう

4

3 に答える 3

80

「AND」条件付きクエリが必要な場合は、これを試してください。

Comment.
  where(:created_at => time_range).
  where("user_id is not in (?)",[user_ids])

次のようなSQLが生成されます。 select ... where ... AND ...

次のように WHERE 句をより複雑にしたい場合は、 where ( a AND b) OR (c AND d)自分で条件を句に結合する必要があります。

Comment.where("(a AND b ) OR (c AND d)")
于 2012-05-16T03:59:51.813 に答える
21
User.where(["name = ? and email = ?", "Joe", "joe@example.com"])

これで大丈夫です。

于 2015-06-17T04:55:11.343 に答える