我的模型具有多对多关系,其中教练可以执教多个团队,而一个团队可以有多个教练。(助理、主管等)
在 Rails Console 中,当我运行时:
@coach = Coach.joins(:teams).select("coaches.first_name, coaches.last_name, teams.team_level")
返回:
=> [#<Coach first_name: "john", last_name: "doe">]
请注意,它不会返回 teams.team_level
,因此我无法在 View 上使用 @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`
这就是我所期望的......因此,当我对数据库运行此查询时,我得到了预期的字段。
我在这里做错了什么/我没有看到什么?感谢您对此进行调查!
最佳答案
您没有做任何错误,您使用了 Coach
模型的方法,因此您获得了 Coach
模型。
由于您使用的是团队加入,因此您无需额外查询即可访问 team_level
值。
关于sql - Rails 3.2 事件记录连接 : Record not showing up,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10309024/