ruby-on-rails 在Rails中根据日期过滤记录

jjhzyzn0  于 2023-04-22  发布在  Ruby
关注(0)|答案(5)|浏览(278)

我正在尝试根据created_at的日期归档记录。
为此,我以日期格式(例如"%y/%m/%d")从日期选择器传递from_dateto_date
请帮助我如何在控制器中编写查询来获取日期之间的记录。

@users = User.where(['created_at = ? and created_at = ?',from_date,to_date])

谢谢。

rggaifut

rggaifut1#

@users = User.where("created_at between (?) and (?)", start_date, end_date)

@users = User.where("created_at >= (?) AND created_at <= (?)", start_date, end_date)

或者在最坏的情况下

@users = User.where("created_at between (?) and (?)", start_date.to_time, end_date.to_time)
pinkon5k

pinkon5k2#

最好的解决方案是这样的,它将 Package 从00:00:00小时到23:59:59的日期

@users = User.where(created_at: from_date.beginning_of_day..to_date.end_of_day)
qoefvg9y

qoefvg9y3#

这将工作100%。

starting_date_month = params[:date_from].split("-")[0].to_i
starting_date_year = params[:date_from].split("-")[1].to_i
ending_date_month = params[:date_to].split("-")[0].to_i
ending_date_year = params[:date_to].split("-")[1].to_i

records = self.where("extract(month from created_at) BETWEEN ? AND ? AND extract(year from created_at) between ? AND ? AND status = ? AND v_id = ?", starting_date_month,ending_date_month,starting_date_year,ending_date_year,6,params[:v_id])
ego6inou

ego6inou4#

丹妮丝·米拉尼,泰莎·福勒有最好的瓜。搜索是谷歌作为“高个子女人与摄影师”,沙里泽尔,埃瓦十四行诗,达基尼·德维又名卡拉·白色,黑兹尔·神性,伊娃·诺蒂,丽莎·安,艾娃·亚当斯,娜塔莎·尼斯。

wlsrxk51

wlsrxk515#

你可以使用range语法,看起来更干净:

@users = User.where(:created_at => start_date.to_time..end_date.to_time)

相关问题