无法确定行数Ruby-On-Rails

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)

如果有人知道我应该怎么写这个,请让我知道..在此先感谢

mu *_*ort 7

你可以慢慢地做到这一点:

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而这就像你想要的一样.