Phoenix 应用程序 'posts' 先显示最新的

Phoenix Application 'posts' Show Newest First

在我的 Phoenix 应用程序中,我有一个名为 'posts' 的模型。

这是相关的控制器操作:

  def index(conn, _params) do
    posts = Repo.all(Post)
    render(conn, "index.html", posts: posts)
  end

问题是 - 这会显示从最旧的帖子开始的所有帖子。我想要的是显示所有以最新帖子开头的帖子(最旧的帖子出现在最后)。

如何修改控制器来完成此操作?

提前致谢。

这是我从文档中得出的有效解决方案。如果有人能提出更清洁的解决方案,请告诉我。

  def index(conn, _params) do
    posts = Repo.all(from(p in Post, order_by: [desc: :inserted_at]))
    render(conn, "index.html", posts: posts)
  end

您将要使用 order_by/3

def index(conn, _params) do
  posts = Repo.all(from Post, order_by: [desc: :inserted_at])
  render(conn, "index.html", posts: posts)
end