mysql - 加入有条件的两个表 - ruby​​ on rails

标签 mysql ruby-on-rails-3 activerecord join

我想加入 2 个表,games 和 game_logs。我是这样做的:

game_joins =  Game.joins(:game_logs)

成功了。但问题是我只想加入 player_id = 1 的地方(例如)。列 player_id 只能在表 game_logs 中找到。所以,当我这样做时:

game_joins =  Game.joins(:game_logs).where(:player_id => 1)

无法找到列 player_id,因为

Game.joins(:game_logs)  

将产生:

SELECT games.* FROM games
  INNER JOIN game_logs ON game_logs.game_id= game.id

所以,问题是我必须使用表 game_logs 中的条件过滤 game_joins 的可能性有多大。我希望我解释得足够好。谢谢

最佳答案

game_joins =  Game.joins(:game_logs).where(:game_logs => { :player_id => 1 })

关于mysql - 加入有条件的两个表 - ruby​​ on rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18846583/

相关文章:

php - 如何正确使用MySQLI查询和获取?

mysql - 如何在 Ubuntu 19.04 (Disco Dingo) 中编辑 php.ini 文件

ruby-on-rails-3 - Rails 3 + 简单表单 : Specifiy label class when using f. 关联

ruby-on-rails - Rails迁移更改顺序或顺序

ruby-on-rails - Rails 4 更新嵌套属性

ruby-on-rails - Rails has_one :through. 构建关联对象

php - mysql语句中的组子查询计数?

mysql 在多个连接表中搜索(7 个表,6 个连接)

ruby-on-rails - 无法分配内存

ruby-on-rails - 查找具有所有关联记录的记录