elixir - 计算Ecto存储库中的条目数

标签 elixir phoenix-framework ecto

查看数据库中条目数的最快方法是什么?我想在我的帖子/索引 View 中查看帖子的数量。

假设我有一个Post模型,并且在数据库中保存了一堆帖子。在Rails中,我可以在 View 文件中执行以下操作:

<h1><%= @posts.length %> Posts</h1>

要么
<h1><%= @posts.size %> Posts</h1>

要么
<h1><%= @posts.count %> Posts</h1>

什么是Phoenix Framework / Elixir?

最佳答案

如果您已经使用Repo.all将帖子加载到了 Controller 的内存中,则可以使用length/1对列表中的项目数进行计数。这等效于Ruby / Rails中的.length

length(@posts)

如果要在数据库中运行计数查询,则可以执行以下操作:
Repo.one(from p in Post, select: count("*"))

您还可以在查询中添加where:过滤器,以将帖子限制为例如由特定用户创建。这等效于在Rails中执行.count

关于elixir - 计算Ecto存储库中的条目数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36683238/

相关文章:

erlang - Erlang 接收表达式到底是如何工作的?

testing - 如何编写测试插头错误处理

elixir - Ecto 查询中正则表达式的正确语法是什么?

elixir - prod环境中的 Assets ,以及文件上传

database - 尝试删除结构时出现 Ecto 约束错误

mnesia - 是否有内置机制让我们在 Elixir 中启动 Mnesia?

docker - 模块 EEx 不可用

Elixir 如何从 ecto 获取 map

elixir - 如何使用 Elixir Ecto 将字段绑定(bind)到具有不同名称的列

elixir - 是否可以合并两个单独的 ecto 查询?