2015-05-14 25 views
8

İşte denedim. DateTime tarafından Ecto'da sorgulama

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

Ben de ikisi de benim sorguları Ecto.DateTime kullanıyor gerekiyor anladığım aynı mesajı

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

dönmek

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

çalıştı. Belki açık bir şey eksik miyim? Teşekkürler!

cevap

10

:datetime türü yerel bir türüdür ve yalnızca tuplerle çalışır. Şemada sütun türünüzü Ecto.DateTime olarak ayarlarsanız, Ecto.DateTime yapısı gibi daha yüksek düzeyli türlerle çalışabilir.

+0

Awesome! Teşekkürler. Harika çalıştı. Değişti: 'alanı: son tarih: datetime' için: ' Kime: tarihine, Ecto.DateTime' –