0

은 임내 .where 문이 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와 두 사용자 모두가 게임

을 좋아해야 있어야하는 게임을 좋아하는 경우 쿼리가 결정 갖는 (여기서 첫째 : game_id => @ game.id)는 여러 game.id의 결과를 반환하지만 작동하지 않습니다. 어떻게 해결할 수 있습니까?

class Game < ActiveRecord::Base 
    has_many :likes 
end 

class Like < ActiveRecord::Base 
    belongs_to :game 
end 

그런 다음 컨트롤러에서 방금 필요 :이 같은 두 모델 사이의 관계에 stablished 한 경우

+0

왜 좋아요 테이블을 자신에 가입 시켰습니까? –

답변

0

이 경우 어쨌든

@game = Game.find_by_id(game.id) 
@likes = @game.likes.count 

을 생각 어쩌면 가장 좋은 방법이 likes를 속성으로 사용하고 counter_cache_column을 사용하는 것이 좋습니다.