Elixir'de ecto kullanarak bir sorgu oluşturduğumda, 'nerede' cümleciğindeki zamanın nasıl karşılaştırılacağından emin değilim. Buelixir, ecto, nerede olduğunubenin zamanını karşılaştır
where: t.created_at <= %Ecto.DateTime{{2015, 4, 27}, {10, 8, 42, 0}},
parçası yanlıştan gibi görünüyor
def sample_query do
query = from t in Tenant,
where: t.id == 123,
where: t.created_at == %Ecto.DateTime{{2015, 4, 27}, {10, 8, 42}},
select: t
end
gibi şema bölümünde
sorgu parçasıdır
create_at
:datetime
schema "tenant" do
field :id, :integer
field :created_at, :datetime
# timestamps([{:inserted_at,:created_at}])
end
olarak ve beyan form. Birisi bana nasıl doğru şekilde yapılacağını söyler mi lütfen?
PS: alanına create_at
tanımlanması hakkında, Aşağıdaki bağlantı bana Öyle bir erlang tarih/zaman başlığın bir %Ecto.DateTime{}
yapı oluşturmak edemez cevabı
Default datetime with Ecto & Elixir
(^ Not) Bu çalıştı !!! ama "created_at" gibi "create_at" gibi 'timestamps ([{: inserted_at,: created_at}])' 'yerine' create_at: 'datetime' ' –
'u tanımlamam gerekiyor. Hala "yazmak için döküm olamaz: sorguda datetime" olsun ^ kullanıyorum^ve erl tarihini Ecto.DateTime. Ecto.DateTime.from_erl (: calendar.universal_time()) –
@JB: Takvimin bazı geçerli tarih tuple'ı ile değiştirirseniz işe yarar mı? öyleyse takvimi değerlendirmeniz ve başka bir değişkendeki tür dönüşümü yapabilmeniz gerekebilir. –