凤凰城框架 - 索引应该显示消息where state ==“new”

时间:2015-06-23 18:56:35

标签: elixir

我希望只显示def索引中状态为“new”的消息。

以下是我必须显示所有消息的工作代码:

def index(conn, _params) do
  messages = Repo.all(Message)
  render(conn, "index.json", messages: messages)
end

我正在尝试过滤消息,只显示状态为“new”的消息。这是我尝试过的代码失败:

def index(conn, _params) do
  messages = Repo.all(Message
  |> where([message], message.state == "sent"))
  render(conn, "index.json", messages: messages)
end

1 个答案:

答案 0 :(得分:1)

您应该使用Ecto.Query来满足您的查询需求:

import Ecto.Query
query = from m in Message, where: m.state == "sent", select: m
Repo.all(query)

查看文档:{​​{3}}