【问题标题】:Elixir + Ecto: Simple WHERE != queryElixir + Ecto:简单的 WHERE != 查询
【发布时间】:2016-12-07 04:44:33
【问题描述】:

你在 Ecto 中的 WHERE != "something" 怎么样?我正在使用 postgres

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

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

【问题讨论】:

标签: elixir ecto


【解决方案1】:

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

User |> where([u], u.id != 444)

欲了解更多信息,请查看documentation of where

【讨论】:

  • 鉴于我有 u = User |> where([u], u.id != 444) MyApp.Repo.all 的结果,你知道我将如何从该列表中获取第一个吗?
  • 你可以使用|> hd或者[u | _] = User |> ...,但是如果你只想要第一个结果,你应该使用where(...) |> limit(1) |> Repo.one
  • 你会知道如何做 WHERE NOT IN [array] 吗? stackoverflow.com/questions/41005307/…@Dogbert
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多