Arel verursacht eine Endlosschleife bei der Aggregation
Ich habe Probleme mit der Verwendung von Arel, um 2 Spalten in derselben Abfrage zu aggregieren. Wenn ich dies ausführe, friert der gesamte Server für eine Minute ein, bevor der Rails-Dev-Server abstürzt. Ich vermute eine Endlosschleife:).
Vielleicht habe ich das ganze Konzept von Arel falsch verstanden, und ich wäre dankbar, wenn sich jemand das ansehen könnte.
Das erwartete Ergebnis dieser Abfrage sieht ungefähr so aus: [{: user_id => 1,: sum_account_charges => 300,: sum_paid_debts => 1000}, ...]
a_account_charges = Table(:account_charges)
a_paid_debts = Table(:paid_debts)
a_participants = Table(:expense_accounts_users)
account_charge_sum = a_account_charges
.where(a_account_charges[:expense_account_id].eq(id))
.group(a_account_charges[:user_id])
.project(a_account_charges[:user_id], a_account_charges[:cost].sum)
paid_debts_sum = a_paid_debts
.where(a_paid_debts[:expense_account_id].eq(id))
.group(a_paid_debts[:from_user_id])
.project(a_paid_debts[:from_user_id], a_paid_debts[:cost].sum)
charges = a_participants
.where(a_participants[:expense_account_id].eq(id))
.join(account_charge_sum)
.on(a_participants[:user_id].eq(account_charge_sum[:user_id]))
.join(paid_debts_sum)
.on(a_participants[:user_id].eq(paid_debts_sum[:from_user_id]))