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

  • BruBearBaby

    BruBearBaby

    25 Ocak 2011
  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012
  • schmittastic

    schmittastic

    9 EYLÜL 2009