SORU
27 Mayıs 2010, PERŞEMBE


Nasıl kayıt raylar tarafından bugün yaratılan activerecord almak için?

Nasıl bugün oluşturulan tüm kayıtları almak istiyorum zaman için Koşullu deyimi yazayım mı?

CEVAP
26 Mart 2012, PAZARTESİ


Bu soruyu kabul edilen bir cevabı var biliyorum. Çözümü kabul cevabı tablo boyutu büyüdükçe performans sorunlarına neden olabilir önerdi.

Eğer arama created_at sütun dayanarak yapıyorsanız, genellikle, göç dosyanızda tablo üzerinde bir dizin ekleyin.

add_index :posts, :created_at

Şimdi, Arama kayıtları, bugün yaratılan için:

Raylar 3/4

Post.where("created_at >= ?", Time.zone.now.beginning_of_day)

Mesajlar belirli bir günde oluşturulmuş arama.

Post.where(:created_at => (date.beginning_of_day..date.end_of_day))

---------YA-------------

Modeliniz için bir statik yöntem ekleyin

class Post < ActiveRecord::Base
  def self.today
    where("created_at >= ?", Time.zone.now.beginning_of_day)
  end
end

Post.today #returns posts today

Raylar 2

Post.all(:conditions => ["created_at >= ?", Time.zone.now.beginning_of_day])

---------YA-------------

Modeliniz için bir named_scope ekleyin

class Post < ActiveRecord::Base    
  named_scope :today, lambda { 
    {
      :conditions => ["created_at >= ?", Time.zone.now.beginning_of_day]
    }
  }
end

Post.today #returns posts today

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Capcom Unity

    Capcom Unity

    5 NİSAN 2010
  • TWiT Netcast Network

    TWiT Netcast

    27 EKİM 2005
  • Wild Academy

    Wild Academy

    8 Aralık 2009