Elixir + Ecto:简单的 WHERE != 查询

big*_*ato 1 elixir ecto

WHERE != "something"在埃克托怎么样?我正在使用 postgres

这就是我所拥有的(不起作用):

u = User |> Ecto.Query.where(id: not 444) |> MyApp.Repo.one

Dog*_*ert 5

您需要使用 Ecto Query 宏来构建此查询。对于基于“表达式”的语法,您可以将列表作为第一个参数传递,其中包含您希望绑定表的名称:

User |> where([u], u.id != 444)
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请查看的文档where

  • 您可以使用 `|> hd` 或执行 `[u | _] = User |> ...` 但如果你只想要第一个结果,你应该做 `where(...) |> limit(1) |> Repo.one`。 (2认同)