我正在尝试在 ruby on rails 中构建一个购物车,它需要我显示如下输出:您的购物车中有 3 件商品(3 是我的购物车中的商品数量)并且我正在尝试查找表中的行数car_id 为 5 的 line_items。
@line_items.find(:all, :condition => { :cart_id => "5"}).count
如果有人知道我应该怎么写,请告诉我..提前谢谢
我正在尝试在 ruby on rails 中构建一个购物车,它需要我显示如下输出:您的购物车中有 3 件商品(3 是我的购物车中的商品数量)并且我正在尝试查找表中的行数car_id 为 5 的 line_items。
@line_items.find(:all, :condition => { :cart_id => "5"}).count
如果有人知道我应该怎么写,请告诉我..提前谢谢
您可以以缓慢的方式进行操作:
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)
那会做的select count(card_id = 5) from t
,这根本不像你想要的。
它应该是单独的东西
LineItem.count(:conditions => {:cart_id => 5})
因为我真的不知道型号名称和关联是什么...希望这会有所帮助=)