Bir eşleme aracılığıyla bağlı projeler ve hibeler var. Hibe son kullanma tarihi vardır. Bir projenin maçlarını hibe son kullanma tarihine göre sıralamak istiyorum.SQL sorgusu için nerede ve sipariş birleştirmek için nasıl
def self.expires_date_between(from, to)
Match.where(:grant_id => Grant.where("expires_at >= ? and expires_at <= ?", from, to))
end
Ve bu belli bir tarih aralığına göre maçları gösterilmektedir:
Bu bana son kullanma tarihine göre eşleşmeleri var olsun.
def current_matches
range = user.current_period_range
matches.expires_date_between(range[0], range[1])
end
Bu belirli bir zaman diliminde dayalı hibe göstermek için harika çalışıyor ama hibe tarihi (expires_at) sırasına göre gösterilmiyor. Ödeneklerin, oluşturuldukları tarihe göre sıralandığı görülmektedir. Sorgularımın son kullanma tarihi sırasına göre listelenmesini nasıl sağlayabilirim?
Denedim:def self.expires_date_between(from, to)
Match.where(:grant_id => Grant.where("expires_at >= ? and expires_at <= ?", from, to).order('expires_at asc'))
end
Bu hata atmak değil ama aynı zamanda hibe sırasını değiştirmez. Herhangi bir fikir?
Eğer 'nereye (expires_at ile kullanabileceğiniz' BETWEEN' operatörü unutmayın: .. 'den)' ye. – tadman
İpucu için teşekkürler, bu benim kodumu daha temiz hale getirir! – railsie