我有一个名字的艺术家模型:字符串和其他属性。但我在SAME名称下有多个Artist条目。
有没有办法拉出一系列艺术家对象而没有任何重复的名称?
我已经找到了仅使用name属性的方法,但没有任何地方可以获取整个艺术家对象。
这两者都只是名称属性:
@artists = Artist.select('DISTINCT name').all
@artists = Artist.all.collect{ |a| a.name }.uniq
答案 0 :(得分:2)
Activerecord小组可以满足您的需求:Artist.group(:name).all
答案 1 :(得分:0)
我的rails 3不太好但它仍然有rails 2语法。
@artists = Artist.find(:all, :select => 'DISTINCT name')
然后我们就可以得到一些爱情。
答案 2 :(得分:0)
一种方法是获取不同行的ID并从中获取其余数据:
Artist.where('artists.id IN (SELECT MIN(a.id) FROM artists AS a GROUP BY a.name)').all