2010-12-09 1 views
4

Вот запрос Rails2:Есть ли особенно элегантный способ сделать запрос на подсчет с Rails 3/Arel?

Foo.find_by_bar_and_baz('a-bar', 'a-baz', :select =>'count(*) as the_count').the_count.to_i 

Запрос некрасиво, но в результате SQL является идеальным.

Есть ли более элегантный способ сделать это в Rails 3/Arel?

редактировать

это похорошела, но до сих пор нет Арел магии:

Foo.count(:conditions => "bar = 'a-bar' and baz = 'a-baz'") 

ответ

7
Foo.where(['bar = ? and baz = ?', 'a-bar', 'a-baz']).count 
+1

яй! или даже cuter: `Foo.where (: bar => 'a-bar',: baz => 'a-baz') .count` – 2010-12-09 20:43:07