Ich verwende enthält, um eifrig auf meine eine Abfrage laden. Ich versuche, Rechnungen abzufragen, um den Gesamtbetrag in Rechnung zu stellen. Ich erhalte 2 verschiedene Ergebnisse, wenn ich Includes verwende, wenn nicht. Kann mir jemand erklären, warum das so ist/wie kann man das am besten beheben?Schienen enthält, verursacht falsches Ergebnis
all_invoices = Invoice.includes(:contractor, :invoice_items, :refunds).with_user(1).date_between(date_range).search_contractor("tester").displayed_invoices.order(created_at: 'DESC')
tester = Invoice.with_user(1).date_between(date_range).search_contractor("tester").displayed_invoices.order(created_at: 'DESC')
all_invoices.pluck(:total_in_cents).sum #this will return 80000
tester.pluck(:total_in_cents).sum #this will return 40000
Das zweite ist das richtige Ergebnis dessen, was ich "m suchen, aber offensichtlich umfasst, die dort für die Geschwindigkeit nützlich ist, so bin ich nicht versuchen, es zu entfernen, aber ich brauche das richtige Ergebnis zu erhalten haben von ihm.
Wer noch keine Ahnung, warum dies geschieht?
Wie lautet der Code für: total_in_cents? – user3456978
: total_in_cents ist nur eine Spalte in meiner Rechnung db-Tabelle. Ich speichere den Gesamtbetrag jeder Rechnung als Cent in jeder Zeile für die angegebene Rechnung –
Sorry, ich nahm an, dass Sie eine Berechnung vor .Sum gemacht haben. Verwenden Sie den Spaltennamen "total in cents" erneut? – user3456978