Rails,

2015-06-27 17 views
5

expired_at tarih alanına sahip bir Product modeline sahip veya daha büyük bir tarih içeren kayıtları seçer. Tüm ürünleri, bir değerden büyük veya sıfır değerine eşit olan expired_at değeriyle döndüren sorguyu istiyorum.Rails,

Ama burada bir sıkıntı buluştu:

manufactured_at = Date.tomorrow 
Product.where('expired_at > ? OR expired_at = NULL', manufactured_at) 
# => ActiveRecord::Relation [] 
Product.all 
# => Product id: 1, expired_at: nil, Product id; 2, expired_at: nil, ... 

nasıl sorguda bu ürünleri getirebilir?

+0

expired_at sütunun veri türü nedir? –

cevap

8
manufactured_at = Date.tomorrow 
Product.where("expired_at > ? OR expired_at IS NULL", manufactured_at) 

deneyin bu

+0

Denendi, fark yok. – asiniy

+0

Sadece nil değerleri için alıntı yapıyorum – asiniy

+0

Hayır, bu şekilde çalışmıyor – asiniy