所以我有3个表借款人,头像和贷款
借款人-> has_one头像
借款人-> has_many贷款
贷款控制人
def list_borrowers do
query =
from(
p in Borrower,
select: p,
preload: [:avatar],
preload: [:loan] # I WANT TO AGGREGATE THIS USING COUNT
)
IO.inspect(Repo.all(query))end
这正常工作,我的问题是我不知道如何汇总贷款。
我只想知道那个借款人的所有贷款的数目。
答案 0 :(得分:2)
我不知道任何preload
聚合的可能方法,但是您可以改为声明virtual field并将其包含在查询中,如下所示:
from p in Borrower,
join: l in Loan,
on: p.id == l.borrower_id,
select: %{p | loan_count: count(l.id)}, # virtual field
preload: [:avatar]