Phoenix Framework - 索引应在 state == "new" 处显示消息
Phoenix Framework - Index should show message where state == "new"
我希望在 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
您应该使用 Ecto.Query
来满足您的查询需求:
import Ecto.Query
query = from m in Message, where: m.state == "sent", select: m
Repo.all(query)
查看文档:Ecto.Query
我希望在 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
您应该使用 Ecto.Query
来满足您的查询需求:
import Ecto.Query
query = from m in Message, where: m.state == "sent", select: m
Repo.all(query)
查看文档:Ecto.Query