您当前的位置: 首页 > 

Rails利用ActiveRecord完成时间相关的条件查询

发布时间:2017-03-10 14:38:31 ,浏览量:0

对于时间相关的查询我们可以直接用数据库底层命令来做:

where_str << "at_moment between ? AND ?" where_vals << date_start << "#{date_end} 23:59:59" where_str << (where_str == "" ? "(now() - '#{days_interval}'::INTERVAL) < at_moment" : " AND (now() - '#{days_interval}'::INTERVAL) < at_moment") AuditLog.where(where_str,*where_vals).order("at_moment DESC")

不过不怎么漂亮,我们何不让Rails帮我们完成这些呢?

AuditLog.where("created_at > ? AND created_at < ?",Time.now - 4.hour,Time.now - 2.hour)

两者比较而言显然后面一种更加清楚简洁,而且不用考虑不同数据库兼容性的问题了。 ;)

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    107766博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.1897s