2011-01-02 8 views
4

私はモデル名ポストを持っています。 Post.countを実行しようとすると、問題なく結果が得られます。 しかし、私はRubyが返された投稿の数を数えるために使われていると思われます。Rails3のPost.count to_sql?

代わりに、私は非常に速いので、投稿の数をカウントするためにSQLを使用したいと思います。

私がArelを使用してこれを達成するために見つけた唯一の方法はPost.select("COUNT(id)")です。 countコマンドをモデル上で明示的に呼び出さずに実行する方法はありませんか? ありがとう!

+2

は、 'count'方法はこれです:http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#方法 - iカウント –

答えて

3

それはあなたが欲しいものですか? :

Post.where(your_sql).count 

読むhere

Rubyはポストの数をカウントするために使用されていない
12

Post.countは、クエリを生成する必要があります:

SELECT COUNT(*) FROM "posts" 

は編集:あなたは、あなたのdevelopment.logファイルを見ることで生成されたクエリを見ることができます。