我想加入 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/