私の User モデルhas_many :event_patrons
と EventPatron belongs_to :user
。このSQLステートメントのようなもので、特定のイベントの常連客とユーザーを一緒に平手打ちしたいと思います:
SELECT * FROM `users`
INNER JOIN `event_patrons` ON `event_patrons`.`user_id` = `users`.`id`
WHERE `event_patrons`.`event_id` = 1
だからレールで私はこれを試しました:
User.all(:joins => :event_patrons,
:conditions => {:event_patrons => {:event_id => 1}})
しかし、それはSELECT users.*
代わりに私を与えますSELECT *
:
SELECT `users`* FROM `users`
INNER JOIN `event_patrons` ON `event_patrons`.`user_id` = `users`.`id`
WHERE `event_patrons`.`event_id` = 1
次に、 を切り替えようとしまし:joins
た:include
が、ごちゃごちゃした混乱が発生し、 の列のみが返され、 からの列は返されませんUser
でしたEventPatron
。
私は何が欠けていますか?