Ume*_*sam 3 ruby-on-rails rowcount rails-activerecord
我试图在铁轨上建立一个红宝石购物车,它要求我显示如下输出:您的购物车中有3个项目(3个是我购物车中的商品数量),我试图找到表格中的行数line_items,其中cart_id为5.
@line_items.find(:all, :condition => { :cart_id => "5"}).count
Run Code Online (Sandbox Code Playgroud)
如果有人知道我应该怎么写这个,请让我知道..在此先感谢
你可以慢慢地做到这一点:
YourModelClass.find(:all, :conditions => { :card_id => 5 }).count
Run Code Online (Sandbox Code Playgroud)
或快速的方式:
YourModelClass.count(:conditions => { :card_id => 5 })
Run Code Online (Sandbox Code Playgroud)
快速方式只是COUNT(*)在数据库内部进行,缓慢的方式将整个结果集拉出数据库,将其转换为对象,然后对它们进行计数.
还有现代的Rails3 +方式:
YourModelClass.where(:card_id => 5).count
Run Code Online (Sandbox Code Playgroud)
这样做select count(*) from t where card_id = 5在数据库内部.不要使用这个:
YourModelClass.count(:card_id => 5)
Run Code Online (Sandbox Code Playgroud)
那会做一个,select count(card_id = 5) from t而这就像你想要的一样.
| 归档时间: |
|
| 查看次数: |
3624 次 |
| 最近记录: |