0

在我的应用程序中,我有一个查询来确定游戏是否有喜欢,

@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 的结果,我该如何解决?

4

1 回答 1

0

如果你已经像这样建立了两个模型之间的关系:

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。

于 2012-09-01T11:56:57.217 回答