如何返回rails中非空的列数

时间:2011-07-01 22:37:34

标签: ruby-on-rails-3 count

我正在尝试通过获取订单行并计算非空的字段并将此计数作为购物车中的商品数量返回来为订单中的商品创建计数。

例如,对于订单,我在该商店中有几列特定商品的ID。因此,如果该列中包含项目,则会在其中存储产品ID。如果没有,它将为null。

一行中非空的字段总数将是该订单购物车中的商品总数。

有没有一种简单的方法可以在rails中使用count函数来实现这个目的?

2 个答案:

答案 0 :(得分:0)

如果您包含模型类和模式会有所帮助,但这里有一个计算具有给定订单ID的项目数量的镜头:

item_count = OrderItem.where(:order_id => order.id).count

答案 1 :(得分:0)

ActiveRecord中的count方法允许您传递:conditions选项。

item_count = OrderItem.count(:conditions => "some_column IS NOT NULL")