Rails / 誕生月でユーザーを検索する
そんなことはまれにしかないでしょう。
誕生日っていったらだいたい期間指定だからね。
でも必要なことがあったのさ。
birth_day
はDate型とします。
date_of_birth の方が英語的に自然かも。
ruby
1
2
3
4
5
6
7
8
9
10
11
# スコープなら
scope :filter_by_birth_month, -> (month) {
where('extract(month from birth_day) = ?', month)
}
# クラスメソッドなら
def self.filter_by_birth_month(month)
where('extract(month from birth_day) = ?', month)
end
これもまた PostgreSQLの話題か…。
extract
便利。
集計作業してるとこういうのが増えてきそう。
ではー。
参考
ruby on rails - ActiveRecord Find By Year, Day or Month on a Date field - Stack Overflow