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

  • Call Me Howard

    Call Me Howa

    18 AĞUSTOS 2012
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008
  • Richard Laxa

    Richard Laxa

    30 AĞUSTOS 2012