2015-05-14 12 views
8

Ecco cosa ho provato.Querying by DateTime in Ecto

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 stesso messaggio

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

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

risposta

10

Il tipo :datetime è di tipo nativo e funziona solo con tuple. Se si imposta il tipo di colonna su Ecto.DateTime nello schema, sarà in grado di lavorare con tipi di livello superiore come la struttura Ecto.DateTime.

+0

Impressionante! Grazie. Ha funzionato alla grande Modificato: 'campo: scadenza,: DateTime' A: ' campo: scadenza, Ecto.DateTime' –