sql - Rails 3.2 事件记录连接 : Record not showing up

标签 sql ruby-on-rails activerecord join ruby-on-rails-3.2

我的模型具有多对多关系,其中教练可以执教多个团队,而一个团队可以有多个教练。(助理、主管等)

在 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/

相关文章:

ruby-on-rails - 如何测试 Rspec 和 Rails 4 中的质量分配错误?

ruby - Postgresql JSON 列作为 HashWithIndifferentAccess

ruby-on-rails - 如何使 Rails 路由助手始终使用 to_param 来生成路径,即使我只是传入 ActiveRecord ID?

activerecord - CodeIgniter Active Record - 获取返回的行数

sql - 快速获取过去 30 天的最低价格以及之前的最后价格

SQL:通过连接查找最大值和连接附加值

mysql - 如何在MYSQL中的一行中显示不同的元键?

sql - Snowflake SQL 中字符串与 null 的连接

ruby-on-rails - 渲染Liquid模板时"Template is missing"

ruby-on-rails - Rails中如何按时间查询?