使用Rails 3/Arel进行计数查询是否有一种特别优雅的方式?

Joh*_*hir 4 activerecord ruby-on-rails arel ruby-on-rails-3

这是一个Rails2查询:

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

查询很难看,但最终的SQL是理想的.

在Rails 3/Arel中有更优雅的方法吗?

编辑

这更漂亮但仍然没有Arel魔法:

Foo.count( :conditions => "bar = 'a-bar' and baz = 'a-baz'" )
Run Code Online (Sandbox Code Playgroud)

Dam*_*kić 7

Foo.where(['bar = ? and baz = ?', 'a-bar', 'a-baz']).count
Run Code Online (Sandbox Code Playgroud)

  • 或没有数组:`Foo.where('bar =?and baz =?','a-bar','a-baz').count` (3认同)