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

次のように 2 つのモデル間の関係を確立した場合:

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 に答える