【发布时间】:2012-04-25 03:38:41
【问题描述】:
我的模型有一个多对多的关系,教练可以指导多个团队,一个团队可以有多个教练。(助理、主管等)
在 Rails 控制台中,当我运行时:
@coach = Coach.joins(:teams).select("coaches.first_name, coaches.last_name, teams.team_level")
返回:
=> [#<Coach first_name: "john", last_name: "doe">]
注意它不返回teams.team_level,所以我不能在我的视图中使用@coach.team_level
当我执行.to_sql 时,它会返回:
=> "SELECT coaches.first_name, coaches.last_name, teams.team_level
FROM `coaches`
INNER JOIN `coach_teams` ON `coach_teams`.`coach_id` = `coaches`.`id`
INNER JOIN `teams` ON `teams`.`id` = `coach_teams`.`team_id`
这是我所期望的...所以当我对我的数据库运行此查询时,我得到了预期的字段。
我在这里做错了什么/我没有看到什么?感谢您对此进行调查!
【问题讨论】:
标签: sql ruby-on-rails activerecord join ruby-on-rails-3.2