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 № 1Il :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.