Archive for October 4th, 2012

Rails で 華麗に sql union する

model の中にこんなのを書く
[crayon lang=”ruby”]
class User < ActiveRecord::Base module UnionHack def union(*relations) from '((' + relations.map { |r| r.ast.to_sql }.join(') UNION (') + ')) AS ' + self.table_name end end extend UnionHack end [/crayon] そんで、以下のように使える。 [crayon lang="ruby"] User.union(@group1.users, @group2.users).limit(20) [/crayon] 参考: http://coderwall.com/p/9hohaa