hi,
Make a two model, Lawyer and Phone then in lawyer model add has_any :phones and in phone model add belongs_to :lawyer then find lawler like @lawyer = Lawyer.find(1) 1 is id in lawyer table then write @lawyer.phones (it will fetch all the phone number of this lawyer havind id =1) you can add where clause @lawyer.phones.where(:area_code => area_code, :number => number) On Tue, Apr 24, 2012 at 7:26 AM, Rafael C. de Almeida <[email protected]>wrote: > Hello > > I have two tables: Lawyer and Phone. Phone is separated into area code > and number. A lawyer has many phones. I want to produce a query which > searches for lawyers who have a phone matching a phone from a list of > phones. > > If I had only one phone I could search it like this: > > Lawyer.join(:phones).where(:area_code => area_code, :number => > number) > > The problem is that I have a list with more than one area code. So I > really want to do something like this: > > lawyers = [] > phones.each { |phone| lawyers += > Lawyer.join(:phones).where(:area_code => phone[:area_code], :number => > phone[:number]) } > > However, I don't want to make many queries. This is how I would do a > similar thing using SQL alone (assuming the list of numbers was > [{:area_code=>'555', :number=>'1234564'}, > {:area_code=>'533', :number=>'12345678'}]) > > select * from phones where (area_code, number) in (('555', > '1234564'), ('533', '12345678')) > > How to translate that to ActiveRecord? > > Cheers, > Rafael > > -- > 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 [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > > -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

