我正在尝试用ruby on rails构建一个购物车,它要求我像这样显示输出:购物车中有3个项目(3是我的购物车中的项目数量),我正在尝试查找表line_items中的行数,其中cart_id为5。
@line_items.find(:all, :condition => { :cart_id => "5"}).count如果有人知道我该如何写这篇文章,请让我知道。提前感谢
发布于 2011-03-21 15:49:37
你可以用慢速的方式来做:
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,这与你想要的一点都不一样。
发布于 2011-03-21 15:45:10
它应该是沿着这条线的东西
LineItem.count(:conditions => {:cart_id => 5})因为我真的不知道模型的名字和关联...希望这会有帮助=)
https://stackoverflow.com/questions/5374846
复制相似问题