Skip to content

Instantly share code, notes, and snippets.

@unders
Created November 1, 2012 13:29
Show Gist options
  • Save unders/3993636 to your computer and use it in GitHub Desktop.
Save unders/3993636 to your computer and use it in GitHub Desktop.
Rails Outer Join with Arel
bt = Brand.arel_table
bft = BrandFollower.arel_table
user = User.first
outer_join = Arel::Nodes::OuterJoin.new(bft, Arel::Nodes::On.new(bft[:brand_id].eq(bt[:id])))
brand_follower = bft[:role].eq(:editor).and(bft[:follower_id].eq(user.id))
Brand.joins(outer_join).where(bt[:published].eq(true).or(brand_follower))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment