我的用户模型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
所以在rails中我尝试了这个:
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
with:include
并得到一团乱麻,仍然只返回我的列,User
而没有 from EventPatron
。
我错过了什么?