has_many :feedbacks, :through => another_model
인 Post
모델이 있습니다. Feedback
모델에는 :name
특성이 있습니다.연결 속성 값을 기반으로 활성 레코드 쿼리
feedbacks
의 이름이 두 개 이상인 Posts
이 필요합니다. 예를 들어
:
포스트 하나의 이름으로 피드백을 가지고 [처럼, 같이,처럼, 스팸]
후 두 [닫기 비추천, 스팸]의 이름으로 피드백이있다.
나는 내가이
group("name")
과having count > 2
이 필요 알고Posts.joins(:feedbacks).where
... 단지 포스트 하나
가 가장 내가 지금까지 IS 입수했습니다 싶지만 모두 함께 문자열 수 없습니다 그 조항들은 바르게. 도움에 대한 올바른 쿼리
편집
Posts.joins(:another_models).group("posts.id", "another_models.feedback_id") .having("COUNT(another_models.feedback_id) >= ?", 2)
감사합니다.
그게 전부를 다음과 같습니다. 그래서 필자의 예제에서 Post 2는 그 배열에 2 개 이상의 feedbacks.id가 있기 때문에 여전히 끌어 들여집니다. –