I am trying to figure out how to create ActiveRecord models with associations that can yield the same results as this SQL query:
select login, first_name, last_name, email_address from accounts inner join people on person.id = accounts.person_id inner join email_address_people on person.id = email_address_people.person_id inner join email_addresses on email_address.id = email_address_people.email_address_id inner join email_address_types on email_address_types.id = email_address_people.email_address_type_id where email_address_types.email_address_type = 'account';
The table structure is as follows, and assumes each table has an id per normal ActiveRecord convention:
accounts id : int person_id : int login : string
people id : int first_name : string last_name : string
email_address_people id : int person_id : int email_address_id : int email_address_type_id : int
email_addresses id : int email_address : string
email_address_types id : int email_address_type: string
I need the models to be fully functional, and not limited by things like :find_by_sql.
How do I create the associated models that make this possible?
Thanks! Chris Benson chris@chrisbenson.com