【发布时间】:2011-01-24 06:04:02
【问题描述】:
我正在尝试弄清楚如何创建具有可以产生与此 SQL 查询相同结果的关联的 ActiveRecord 模型:
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';
表结构如下,并假设每个表都有一个id 每个正常的 ActiveRecord 约定:
帐户
id : 整数
person_id : 整数
登录:字符串
人
id : 整数
名字:字符串
姓氏:字符串
email_address_people
id : 整数
person_id : 整数
email_address_id : 整数
email_address_type_id : int
电子邮件地址
id : 整数
电子邮件地址:字符串
email_address_types
id : 整数
email_address_type:字符串
我需要模型功能齐全,不受 :find_by_sql 之类的限制。
如何创建使这成为可能的关联模型?
谢谢!
克里斯·本森
chris@chrisbenson.com
【问题讨论】:
标签: ruby-on-rails activerecord associations join