如何确定Rails中的多个分组记录?

时间:2014-12-18 13:12:13

标签: mysql ruby-on-rails ruby view group-by

表中有这种结构和数据:

id | car     | location | ...
-----------------------------
1  | BMW     | US       | ...
2  | Audi    | US       | ...
3  | Audi    | US       | ...
4  | Porsche | CA       | ...
5  | Audi    | US       | ...

我正在以通常的方式加载和分组数据:

@cars = Cars.where('location = ?', location).group('car')

我需要在视图中显示多个分组数据 - 在这种情况下,我需要打印在美国有多少数据;所以期望的输出就像:

BMW - 1 car
Audi - 3 cars

如何获得多个分组行?

1 个答案:

答案 0 :(得分:6)

Car.where(location: location).group(:car).count #=> e.g. {'BMW' => 1}

仅供参考,您也可以按位置和汽车进行分组。

Car.group(:location, :car).count #=> e.g. {['US', 'BMW'] => 1}