首页 > 解决方案 > 使用 ecto 计算关联的模型行

问题描述

我试图找出有多少项目属于特定用户。

我知道您可以这样做来获取模型的数量:

count = User |> Repo.aggregate(:count, :id)

但是我怎样才能找到属于该用户的项目数量呢?

标签: elixirphoenix-frameworkecto

解决方案


这是一种方法:获取用户,assoc/2用于为其关联创建查询,然后以与您现在相同的方式对其进行计数:

User |> Repo.get(123) |> assoc(:projects) |> Repo.aggregate(:count, :id)

推荐阅读