elixir - 使用 ecto 计算关联的模型行
问题描述
我试图找出有多少项目属于特定用户。
我知道您可以这样做来获取模型的数量:
count = User |> Repo.aggregate(:count, :id)
但是我怎样才能找到属于该用户的项目数量呢?
解决方案
这是一种方法:获取用户,assoc/2
用于为其关联创建查询,然后以与您现在相同的方式对其进行计数:
User |> Repo.get(123) |> assoc(:projects) |> Repo.aggregate(:count, :id)
推荐阅读
- amazon-web-services - EC2 和 RDS 的预留实例限制
- macos - 如何在 Mac 上的 Pages 文稿中插入代码块?
- kml - 无法在谷歌地球中可视化大型 kml 文件
- java - Apache Storm:一个集群可以创建多少个拓扑?
- javascript - 如何从javascript中的函数返回值?
- sqlalchemy - 当父对象已经存在时,使用 SQLAlchemy 插入带有父对象的子对象
- performance - 减少 AWS CloudWatch 代理 CPU 使用率
- r - 有条件地替换 R 数据框中的值
- spring - 如何将 2 个不同的 CA 签名证书导入到要在 tomcat 中使用的同一密钥库中
- reactjs - 如何在 JEST + webpack5 + React 中模拟图像和路径?