假设我有两个Rails的ActiveRecord的车型,CarType(使/型号的汽车)和汽车(一CarType的实例)。 汽车* belongs_to * CarType和CarType * has_many *汽车。铸造一个ActiveRecord的集合,从一种类型到另
我想要一个汽车列表,但只有独特的CarTypes(结果中没有重复的CarTypes)。
基本上,我想要的结果:
CarType.find(:all, :include => [:cars])
...但铸成汽车的集合对象,而不是。我怎样才能做到这一点?
编辑
我开始执行上述CarType.find
声明解决这个,逆向工程Rails的生成的SQL代码(Rails的实际产生两个SQL语句),然后使用Car.find_by_sql
,但我觉得解决方案变得非常笨重。
所以你想每个CarType只检索一辆车? – bassneck 2011-06-12 21:20:55
是的,正确的:每个车型只有一辆车。侧面问题:排序顺序会影响哪个Car(因为可能会有多个)会为每个CarType选择? – 2011-06-12 21:23:24