나는 세 가지 모델이 있습니다named_scope 또는 find_by_sql?
- 사용자를
- 상
- 트로피
연관성은 다음과 같습니다
- 사용자가 많은 상
- 트로피가 많은 상 있다
- 수상
- 수상
- 사용자 트로피에 속하는 사용자에 속하는 따라서, USER_ID이 상에 FK이며, trophy_id이 상에 FK 인 상
을 통해 많은 트로피를 가지고있다.
STI 모델 인 Trophy 모델에는 trophy_type 열이 있습니다. 특정 트로피를 수상한 사용자 목록을 반환하고 싶습니다. (trophy_type = 'GoldTrophy'). 사용자는 두 번 이상 동일한 트로피를 수상 할 수 있습니다. (뚜렷한 결과는 원하지 않습니다.)
named_scope를 사용할 수 있습니까? 그들을 묶는 건 어때? 아니면 find_by_sql을 사용해야합니까? 어느 쪽이든, 어떻게 코딩합니까?