Hem Ruby hem de ActiveRecord için yeniyim. Şu anda, seçimde bir tarih aralığı eklemek için mevcut kod parçasını değiştirmeye ihtiyacım var. Geçerli parça şöyledir:ActiveRecord Modelini Kullanarak Bir Tarih Aralığı Arasında Nasıl Arama Yaparım?
ReportsThirdparty.find(:all, :conditions => {:site_id=>site_id, :campaign_id=>campaign_id, :size_id=>size_id})
Şimdi, bir aralığı eklemek gerekir, ama BETWEEN
veya >=
veya <=
operatörlerini nasıl emin değilim. Ne ihtiyacım benzer bir şey olduğunu tahmin:
ReportsThirdparty.find(:all, :conditions => {:site_id=>site_id, :campaign_id=>campaign_id, :size_id=>size_id, :row_date=>"BETWEEN #{start_date} AND #{end_date}")
bu işi bile, burada interpolasyon kullanarak SQL enjeksiyon saldırıları beni tabi terk edeceğini biliyoruz.
ReportsThirdParty.find(:all,
:conditions => {
:site_id => site_id,
:campaign_id => campaign_id,
:size_id => size_id,
:row_date => start_date..end_date })
Edit:
Kesinlikle mükemmel! Teşekkürler! –