假设我有两个Rails ActiveRecord 模型, CarType (汽车品牌/型号)和 Car (CarType实例)。 Car * belongs_to * CarType,CarType * has_many * Cars。
我想要一个Cars列表,但只有唯一的CarTypes(结果中没有重复的CarTypes)。
基本上,我想要结果:
CarType.find(:all, :include => [:cars])
...而是转换为Car对象的集合。我怎么能做到这一点?
修改
我开始通过执行上面的CarType.find
语句,反向工程Rails'生成的SQL代码(Rails实际上生成两个SQL语句)然后使用Car.find_by_sql
来解决这个问题,但我觉得解决方案变得非常笨重。
答案 0 :(得分:1)
我认为,Cars.group("cartype_id")
正是您所寻找的。并回答你的问题,afaik排序是在小组之后应用的。