[英]Why does my .where statement does not work with a join in ActiveRecord?
在我的应用中,我正在查询以确定游戏是否喜欢,
@games = Like.select('l.*').where(:game_id => @game.id).joins('join likes l on likes.user_id=l.likes and l.user_id=likes.likes')
该游戏必须具有特定的ID,并且2个用户都必须喜欢该游戏
第一个where(:game_id => @ game.id)虽然返回多个game.id的结果,却无法正常工作,我该如何解决?
如果您已像下面这样设置了两个模型之间的关系:
class Game < ActiveRecord::Base
has_many :likes
end
class Like < ActiveRecord::Base
belongs_to :game
end
然后,在您的控制器中,您只需要:
@game = Game.find_by_id(game.id)
@likes = @game.likes.count
无论如何,在这种情况下,我认为最好的方法可能是使用添加喜欢作为属性并使用counter_cache_column。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.