Actuellement, je peux effectuer une requête SQL directe sur ma base de données:
SELECT MAX(bar) FROM table_name
Et il retourne avec la valeur maximale dans cette table. Lorsque je passe ce que je considère être un appel équivalent dans Rails, toutefois, cela ne fonctionne pas. J'appelle:
Bar.all(:select => "Max(bar)")
Cela revient simplement avec:
[#<Bar >]
Dans la colonne que je vous appelle est une série de numéros d'identification, je cherche le plus grand. Existe-t-il un autre moyen d'accéder à cela dans Rails?
En supposant que votre nom de modèle soit Bar
et que sa colonne est nommée bar
, cela devrait fonctionner:
Bar.maximum("bar")
Voir l'excellent section Rails Guides sur Calculs pour plus d'informations.
une autre façon
Bar.select("Max(bar) as max_bar").first.max_bar