Solas
2011-Nov-03 17:44 UTC
Arel table aliases and ActiveRecord::Relation help: how to specify "multiple has_many items in a query"
What is the recommended way to use table aliases with
ActiveRecord::Relation these days?
In prior versions of Rails, this would work:
assume (pseudo code):
model A
has_many b''s
model B
,,,
at = B.arel_table
atalias = at.alias(at.name + "_1")
A.join(:b).join(atalias).where(atalias[:a_id].eq(at[:a_id]).where("b.widget
= ''foo''").where("b_1.widget =
''bar''"). ...
^ probably should be "on"
now in 3.1.1: passing in a arel_table into join ... returns a String,
not a relation, breaking the ActiveRecord::Relation chain.
In short: if we want to find A''s where they contain *both* a B.widget
''foo'' and a B.widget ''bar'' ...
how do we do this without writing custom SQL ?
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.
