我正在嘗試查找具有has_many關係的一個(或多個)實例的用戶數的最佳方法。查找具有多個關聯中的一個的用戶數
例如,用戶has_many :bank_accounts
和:credit_accounts
(和一些其他關係)。我想查找具有至少一個bank_account和至少一個credit_account的唯一用戶的數量,並理想地在一個範圍內實現此操作,以便我可以在其上運行查詢。
目前我使用下面的代碼實現它(很差): (BankAccount.select(:user_id).uniq + CreditAccount.select(:user_id) + ...).uniq.count
我周圍很多玩一些連接,但是我沒有得到任何結果。例如,我玩過很多不同形式的User.joins(:bank_accounts, :credit_accounts).uniq('users.id').count
,但我似乎沒有得到任何結果。
任何幫助將不勝感激,謝謝!
我玩了很多像你提到的一個查詢,但從來沒有得到它的工作。 (User.joins(:credit_accounts).uniq.count)返回0. User.joins .count'返回0,儘管有一個CreditAccount。 –