/ / Interrogazione di DateTime in Ecto - elisir, phoenix-framework, ecto

Interrogazione per DateTime in Ecto - elixir, phoenix-framework, ecto

Ecco cosa ho provato.

date = Ecto.DateTime.from_erl(:calendar.universal_time())
query |> where([record], record.deadline >= ^date)

Ho anche provato

date = Ecto.DateTime.from_erl(:calendar.universal_time())
query = from m in MyApp.SomeModel,
where: m.deadline >= ^date,
select: m

Entrambi restituiscono lo stesso messaggio

value `%Ecto.DateTime{..}` in `where` cannot be cast to type :datetime in query

Da quello che ho capito dovrei usare Ecto.DateTime nelle mie query. Forse mi manca qualcosa di ovvio? Grazie!

risposte:

10 per risposta № 1

Il :datetime type è un tipo nativo e funziona solo con le tuple. Se imposti il ​​tipo di colonna su Ecto.DateTime nel tuo schema, sarà in grado di lavorare con tipi di livello superiore come la struttura Ecto.DateTime.