データベースのエントリ数を確認する最も簡単な方法は何ですか?投稿/インデックスビューで投稿の数を確認したい。
データベースに保存されている投稿モデルと多数の投稿があるとします。 Railsビューファイルで次のようなことができます:
<h1><%= @posts.length %> Posts</h1>
または
<h1><%= @posts.size %> Posts</h1>
または
<h1><%= @posts.count %> Posts</h1>
Phoenix Framework/Elixirと同等のものは何ですか?
Repo.all
を使用してコントローラーのメモリに投稿を既にロードしている場合、length/1
を使用してリスト内のアイテムの数をカウントできます。これは、Ruby/Railsの.length
と同等です。
length(@posts)
代わりにデータベースでカウントクエリを実行する場合は、次の操作を実行できます。
Repo.one(from p in Post, select: count("*"))
クエリにwhere:
フィルターを追加して、投稿をたとえば特定のユーザーによって作成されます。これは、Railsで.count
を実行するのと同じです。
Dogbert が提供するオプションは両方とも正しく、Ecto 1.xで使用する必要があります。
Ecto 2.0では、 Repo.aggregate/4 を使用できます
Repo.aggregate(Post, :count, :id)