elixir - docs - ecto etimologia
Cuente el nĂºmero de entradas en un repositorio de Ecto (2)
Las opciones que Dogbert ha proporcionado son correctas y deben usarse para Ecto 1.x.
En Ecto 2.0 puedes usar Repo.aggregate/4
Repo.aggregate(Post, :count, :id)
¿Cuál es la forma más rápida de ver el número de entradas en mi base de datos? Me gustaría ver el número de publicaciones en mis publicaciones / vista de índice.
Digamos que tengo un modelo de publicación y un montón de publicaciones guardadas en mi base de datos. En Rails podría hacer algo como esto en un archivo de vista:
<h1><%= @posts.length %> Posts</h1>
o
<h1><%= @posts.size %> Posts</h1>
o
<h1><%= @posts.count %> Posts</h1>
¿Cuál es el equivalente de Phoenix Framework / Elixir?
Si ya ha cargado las publicaciones en la memoria en su controlador usando Repo.all
, puede usar length/1
para contar el número de elementos en la lista. Esto es equivalente a .length
en Ruby / Rails.
length(@posts)
Si desea ejecutar la consulta de conteo en la base de datos, puede hacer:
Repo.one(from p in Post, select: count("*"))
También puede agregar where:
filter a la consulta para restringir las publicaciones, por ejemplo, creadas por un usuario específico. Esto es equivalente a hacer .count
en Rails.