Я использую включенные функции, чтобы выполнять загрузку по моему одному запросу. Я пытаюсь запросить счета-фактуры, чтобы получить общую сумму выставленных счетов. Я получаю 2 разных результата, когда я использую include vs., когда я этого не делаю. Может ли кто-нибудь объяснить, почему это происходит/как это лучше всего исправить?Rails включает в себя неправильный результат
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
2-й один правильный результат того, что я "ищу, но, очевидно, имея включает там полезно для скорости, так что я не пытался удалить его, но мне нужно, чтобы получить правильный результат от него.
Кто-нибудь есть какие-либо идеи, почему это происходит?
Что такое код: total_in_cents? – user3456978
: total_in_cents - это всего лишь столбец в таблице счетов-фактур. Я храню общую сумму каждого счета в виде центов в каждой строке для данного счета. –
Извините, я предположил, что вы делали расчет до .Sum. Вы повторно используете: total in cents имя столбца? – user3456978