您如何在Ecto中做WHERE != "something"
?我使用的是PostgresElixir + Ecto:簡單的WHERE!=查詢
這是我(不工作):
u = User |> Ecto.Query.where(id: not 444) |> MyApp.Repo.one
您如何在Ecto中做WHERE != "something"
?我使用的是PostgresElixir + Ecto:簡單的WHERE!=查詢
這是我(不工作):
u = User |> Ecto.Query.where(id: not 444) |> MyApp.Repo.one
你需要使用外生查詢宏建此查詢。對於「表達式」基於語法,你可以通過一個列表與你想的表與綁定名稱的第一個參數:
User |> where([u], u.id != 444)
欲瞭解更多信息,請查看documentation of where
。
因爲我有'u = User |> where([u],u.id!= 444)MyApp.Repo.all'的結果,你知道我將如何從該列表中獲取第一個嗎? – Edmund
您可以使用'|> hd'或做'[u | _] = User |> ...'但如果你只想要第一個結果,你應該做'where(...)|> limit(1)|> Repo.one'。 – Dogbert
你會通過任何改變知道如何做WHERE NOT IN [數組]? http://stackoverflow.com/questions/41005307/elixir-ecto-how-to-do-where-not-in-array @Dogbert – Edmund
'|>其中([u],u.id!= 444)'? – Dogbert
請給我所有的藥劑知識@Dogbert – Edmund
這裏有各種布爾運算符的引用:http://elixir-lang.org/getting-started/basic-operators.html。我不確定你爲什麼不先嚐試'!='先。 –