我有三个型号:named_scope或find_by_sql?
- 用户
- 奖
- 奖杯
的关联是:
- 用户拥有众多奖项
- 奖杯有许多奖项
- 奖属于用户
- 奖属于奖杯
- 用户已经通过奖励
许多奖杯因此,user_id是在奖励FK,和trophy_id是在奖励FK。
在Trophy模型中,这是一个STI模型,它有一个trophy_type列。我想返回已经获得特定奖杯的用户列表 - (trophy_type ='GoldTrophy')。用户可以多次被授予同一奖杯。 (我不想要明显的结果。)
我可以使用named_scope吗?如何链接他们?或者我需要使用find_by_sql?无论哪种方式,我将如何编码?