2012-03-27 12 views
5

終了した2つの日付の間にすべてのレコードを数えようとしています。つまり、created_atフィールドはstart_dateとend_dateの間にあり、finished_atフィールドはnullではありません。複数の条件がRailsでカウントされています

Record.count(:all, :conditions => {:created_at => start_date..end_date, :finished_at => nil }) 

nilでないで終了レコードをカウントする同様の方法があります:

は私が完了しなかったレコードを取得するには、次の式を使用できますか?

+0

あなたは、Squeelなどのいくつかの宝石を使用することができます。参照してくださいhttp://stackoverflow.com/questions/4252349/rail-3-where-condition-using-not-null – gayavat

+0

@ gayavat私はSqueel機能をサポートするとは思わないので、私はRecord.count {(created_at > start_date)&(created_at dcarneiro

答えて

7

何か不足していない限り、これはうまくいくはずです。

Record.where(:created_at => start_date..end_date).where('finished_at IS NOT NULL').count 
+0

私は両方の条件を一緒に保つためにRecord.where( "created_at BETWEEN?AND?AND_UNIS NOT NULL"、start_date、end_date).countを終了しました。 – dcarneiro

関連する問題