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

  • Autocar

    Autocar

    11 Mart 2006
  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007
  • Moto Journal

    Moto Journal

    28 Mayıs 2007