Wie machen Sie WHERE != "something"
in Ecto? Ich bin mit PostgresElixir + Ecto: Einfach WO! = Abfrage
Das ist, was ich habe (das nicht funktioniert):
u = User |> Ecto.Query.where(id: not 444) |> MyApp.Repo.one
Wie machen Sie WHERE != "something"
in Ecto? Ich bin mit PostgresElixir + Ecto: Einfach WO! = Abfrage
Das ist, was ich habe (das nicht funktioniert):
u = User |> Ecto.Query.where(id: not 444) |> MyApp.Repo.one
Hier finden Sie die Ecto-Abfrage Makros verwenden müssen, um diese Abfrage zu erstellen. Für den „Ausdruck“ basierte Syntax, können Sie eine Liste als ersten Parameter mit den Namen übergeben Sie die Tabellen binden möchten mit:
User |> where([u], u.id != 444)
Für weitere Informationen, besuchen Sie das documentation of where
.
gegeben Ich habe das Ergebnis von 'u = User |> wo ([u], u.id! = 444) MyApp.Repo.all', weißt du, wie ich den ersten aus dieser Liste holen würde? – Edmund
Sie können '|> hd' verwenden oder' [u | _] = Benutzer |> ... 'aber wenn du nur das erste Ergebnis willst, solltest du' where (...) |> limit (1) |> Repo.one' machen. – Dogbert
würden Sie bei jeder Änderung wissen, wo nicht in [Array] zu tun? http://stackoverflow.com/questions/41005307/elixir-ecto-how-to-do-where-not-in-array @Dogbert – Edmund
'|> wo ([u], u.id! = 444)'? – Dogbert
bitte geben Sie mir alle Ihre Elixier Wissen @Dogbert – Edmund
Es gibt eine Referenz der verschiedenen Booleschen Operatoren hier: http://elixir-lang.org/getting-started/basic-operators.html. Ich bin mir nicht sicher, warum du es nicht selbst versucht hast! –