Rails comment additionner les colonnes?

Exemple que j'ai:

@test = Pakke.find([[4], [5]])

Dans ma table Pakke j'ai une colonne nommée prismd

Comment puis-je additionner les deux valeurs pour le prismd colonnes pour @test?

28
demandé sur Rails beginner 2012-01-16 03:26:11

4 réponses

Vous pouvez résumer directement sur la base de données en créant le SQL respectif comme ceci:

Pakke.sum(:prismd, :conditions => {:id => [4,5]})

Voir ActiveRecord::Calculs pour plus d'exemples d'utilisation et de la documentation générale.

46
répondu Holger Just 2014-12-07 17:50:58

ActiveRecord a un tas de méthodes de calcul, y compris sum:

@test = Pakke.where(:id => [4, 5] ).sum(:prismd)
29
répondu Jordan Running 2016-06-02 18:20:17
Pakke.find([[14], [15]]).map(&:prismd).sum
4
répondu Rails beginner 2012-07-26 15:38:43

Test = Ordre.où (potential_student_id: potential_student.id). sum ("total_price");

1
répondu KevinLi 2017-01-12 08:03:30