2013-11-27 2 views
3

나는 태그 테이블이는 :레일 GROUP BY, COUNT

NAME | USER_ID | OBJECT_ID 
--------------------------- 
"fun" | 1  | 1 
"fun" | 2  | 1 

객체는 taggable 객체, 그 이상 아무것도입니다. 이제 내가 겪고있는 문제는 다음과 같습니다. 객체에 대해 중복되지 않는 태그를 표시하려고하지만 각 태그가 속한 사용자를 말할 수 있습니다.

그래서, 내가 선언 한 다음 taggable 객체의 관계 :

has_many : 태그 : 그룹 => "이름"=> "수를 위해 (tagsname.) DESC, tags. name ASC "그래서

, 그것은 두 가지 않습니다 : 태그 이름으로 1) 그룹 -> 2 중복을 제거)을 기록의 숫자로 태그를 주문

그러나 동시에 그룹 (로그인 한 사용자)이 임의의 태그를 남겼는지 여부를 결정해야하며 GROUP이 목록에서 임의의 태그를 선택하고 오직 한 명의 사용자 만 결정할 수 있기 때문에 가능하지 않습니다 .

어떻게이 문제를 해결할 예정입니까?

+0

그래서이 사용자 만 게시 한 태그를 가져 오시겠습니까? –

+0

모든 태그 (고유 태그 이름)를 나열하는 동안 사용자가 남긴 태그를 어떻게 든 표시하려고합니다. – Dmitri

답변

0

전체 답변을 다시 게시하고 싶지 않습니다. 그러나이 링크는 당신이 찾고있는 것을 정확히 말하고 있습니다. http://www.justskins.com/forums/aggregate-functions-does-value-149176.html#post501498

논리는 동일한 테이블에서 JOIN을 사용하는 것입니다.

+0

감사합니다. 흥미로운 것 같지만 레일에 어떻게 적용할까요? – Dmitri

+0

이것은 아마도 내가 필요한 것이 아닙니다. 특정 사용자의 태그를 생성하지 않습니다. 나는 사용자가 태그를 나열했는지 여부를 알 필요가있다. – Dmitri