如何在预加载中聚合
How to aggregate in preload
所以我有 3 个表 borrower、avatar 和 loan
借款人 -> 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
这工作正常我的问题是我不知道如何汇总贷款。
我只想知道那个借款人的所有贷款数
我不知道 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]
所以我有 3 个表 borrower、avatar 和 loan
借款人 -> 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
这工作正常我的问题是我不知道如何汇总贷款。
我只想知道那个借款人的所有贷款数
我不知道 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]