2017-12-06 2 views
1

Wie diese einfache Abfrage übersetzen auf Schienen ruby ​​ActiveRails Active Zusammenfassung Anweisung

select sum(current*progress) from features;

ich versucht habe

@feature = Feature.where(project_detail_id: @project_detail.id) 
@current_progress = @feature.current * @feature.progress 
@total_current_progress = @feature.sum(@current_progress) 

aber nichts funktioniert bekomme ich nicht @total_current_progress Ergebnis

danke im voraus

Antwort

0

Try this:

@total_current_progress = Feature.where(project_detail_id: @project_detail.id).sum("current*progress") 
+0

dank viel Kamerad, dieses funktioniert gut – Alex

0

versuchen unten Code:

@feature = Feature.where(project_detail_id: @project_detail.id) 
@current_progress = @feature.pluck(:current).map(&:to_f).sum * @feature.pluck(:progress).map(&:to_f).sum 
@total_current_progress = @current_progress 
+0

Ihre aktuelle Code-Logik 'select sum (aktuell) * Summe (Fortschritt) von Funktionen,' aber das Problem in diesem Fall ist 'wähle Summe (gegenwärtiger * Fortschritt) von den Eigenschaften;' sein unterschiedlicher Kamerad – Alex

0
Feature.sum("current * progress") 

(0.7ms) SELECT SUM(current * progress) FROM "features"