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

  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • Helder Barreto

    Helder Barre

    22 Mayıs 2006
  • TopDJMag TV

    TopDJMag TV

    29 Temmuz 2010