3

ruby on rails でカートを作成しようとすると、次のような出力を表示する必要があります: cart_id が 5 の line_items。

@line_items.find(:all, :condition => { :cart_id => "5"}).count

誰かが私がこれをどのように書くべきか知っているなら、私に知らせてください..前もって感謝します

4

2 に答える 2

7

あなたはそれをゆっくりと行うことができます:

YourModelClass.find(:all, :conditions => { :card_id => 5 }).count

または速い方法:

YourModelClass.count(:conditions => { :card_id => 5 })

高速な方法COUNT(*)はデータベース内で単純に実行し、低速な方法では結果セット全体をデータベースから取り出してオブジェクトに変換し、それらをカウントします。

最新の Rails3+ の方法もあります。

YourModelClass.where(:card_id => 5).count

それはselect count(*) from t where card_id = 5データベース内で行います。ただし、これは使用しないでください。

YourModelClass.count(:card_id => 5)

それは a を行い、それはselect count(card_id = 5) from tあなたが望むものとはまったく異なります。

于 2011-03-21T07:49:37.437 に答える
1

の行だけで何かでなければなりません

LineItem.count(:conditions => {:cart_id => 5})

モデル名と関連付けが本当にわからないので...これが役立つことを願っています=)

于 2011-03-21T07:45:10.027 に答える