2016-07-16 9 views
0

railscastビデオを使用することにより、同じモデルで動作する簡単な検索を作成します。そして、私は日付、日、時間のフィールドを持っています。日付と時間でモデルを検索するには

私のモデル

class Sale < ApplicationRecord 
    belongs_to :washer, optional: true 
    belongs_to :location, optional: true 

    has_many :sale_services 
    has_many :services, :through => :sale_services 

    def day 
    created_at.strftime('%A') 
    end 

    def time 
    created_at.strftime("%H:%M") 
    end 

    def date 
    created_at.strftime('%F') 
    end 


def self.search(search) 
    if search 
     key = "'%#{search}%'" 
     columns = %w{ city station venue area country plate_number } 
     joins(:services).joins(:washer).joins(:location).where(columns.map {|c| "#{c} ILIKE #{key}" }.join(' OR ')) 
    else 
     where(nil) 
    end 
    end 
end 

は私が何をして、私はその日のために検索することができます確かに変更する必要がある、とタイムスタンプフィールドの日付のですか?

答えて

0

参照として次のコードを使用することができます。これはcreated_atフィールドantで試してみました。ここ

Model.where('extract(year from date_column) = ?', desired_year) 
Model.where('extract(month from date_column) = ?', desired_month) 
Model.where('extract(day from date_column) = ?', desired_day_of_month) 

は、上記のコードは、あなたのために動作しない場合は、確認することができstackoverflowlinkです。

関連する問題