J'ai trois modèles:named_scope ou find_by_sql?
- utilisateur
- Prix
- Trophy
Les associations sont:
- L'utilisateur a de nombreux prix
- Trophy nombreux prix
- Award appartient à l'utilisateur
- Award appartient au trophée
- utilisateur a beaucoup de trophées par prix
Par conséquent, user_id est un fk en prix et trophy_id est un fk en prix.
Dans le modèle Trophy, qui est un modèle STI, il existe une colonne trophy_type. Je veux retourner une liste d'utilisateurs qui ont reçu un trophée spécifique - (trophy_type = 'GoldTrophy'). Les utilisateurs peuvent recevoir le même trophée plus d'une fois. (Je ne veux pas de résultats distincts.)
Puis-je utiliser un named_scope? Pourquoi ne pas les enchaîner? Ou dois-je utiliser find_by_sql? De toute façon, comment pourrais-je le coder?