Comment puis-je écrire la portée par défaut suivante: forte> essentiellement je veux trier par un tout conseil? strong> p> p> p> marchand.is_paid code> champ (qui appartient à un modèle associé) p>
3 Réponses :
Voici ce que vous pouviez faire pour avoir des fonctionnalités requises, mais ce n'est pas une bonne idée de le faire, s'il vous plaît lire jusqu'à la fin
Vous pouvez définir votre portée par défaut pour inclure également l'association de marchands, puis commandez par regarderait quelque chose comme p> Cependant, cela signifie que chaque fois que vous attrapez des objets marchands similaires pour une raison quelconque vous aurez Association chargée aussi bien p> Ce n'est pas génial et je suggérerais d'avoir une étendue explicite pour charger des marchands similaires avec association et commander: p> Vous savez toujours dans votre code ce qui est chargé exactement de la base de données p> p> marchands.is_paid Desc, score Desc code> p>
Essayez ceci:
Mais veuillez garder à l'esprit que cela peut être lent, en fonction du nombre des enregistrements
Toute commande par déclaration peut être lente. C'est comme dire que cette voiture peut aller en arrière :-) De toute façon, ça marche bien, merci!
Je reçois 'PG :: Erreur: Erreur: entrée manquante de la clause`
Alors, voulez-vous toutes les requêtes de Ce sera meilleur si vous définissez cela comme un Portée séparée et appelez cette portée lorsque vous en avez besoin comme ça. En outre, vous devez décider si vous avez besoin de la relation Notez que: le marchand est singulier. C'est-à-dire que vous devez spécifier le nom de la relation spécifié dans le modèle (comme dans SIMILAREMARMERCANT CODE> Modèle à commander par une colonne dans les marchands code>? Je doute de votre condition, mais si tel est pour que vous puissiez rejoindre
marchands code> également dans la portée par défaut
marchand code> ou
similaire_merCant code>. Si vous voulez
similaire_merChant code>, vous devrez faire
jointures (: similaire_merchanant) code>. P>
appartiens_to: marchand code>). p> p>