2014-09-18 2 views
0
class BankTeller < ActiveRecord::Base 
    belongs_to :finance_transaction 
    belongs_to :institution_bank_account 
end 

class InstitutionBankAccount < ActiveRecord::Base 
    has_many :bank_tellers 
end 

class FinanceTransaction < ActiveRecord::Base 
    has_one :bank_teller 
end 

재무 거래에는 amount 필드가 있습니다. InstitutionBankAccount별로 그룹화 한 모든 금융 거래 금액의 합계는 어떻게 가져 옵니까?여러 모델을 레일에 결합

편집 : 내 응용 프로그램은 레일즈 버전 2.3.8입니다.

+1

BankTeller.all.joins (: finance_transaction : institution_bank_account) ALL 기타 사항 서보 -OFF ("institution_bank_accounts.id, SUM (finance_transactions.amount)") 그룹 ("institution_bank_accounts.id"참조). – irene

+0

@irene 그게 작동하지 않았다. # "에 대해 정의되지 않은 메소드'조인 '오류가 발생했습니다. 레일 2.3.8을 사용합니다. –

+1

BankTeller.all을 BankTeller를 통해 바꾸십시오. – irene

답변

0

제가 사용했을

BankTeller.all(:joins => [:finance_transaction, :institution_bank_account], :group => "institution_bank_accounts.id", :select=> ('institution_bank_accounts.id, sum(amount)')) 
관련 문제