ruby-on-rails - Rails 6 ActiveRecord在where子句中求和列
问题描述
我有一个 Rails 6 应用程序和一个带有一个scheduled_at
和一个duration
(以分钟为单位)列的表格。
我想在哪里获取所有记录scheduled_at + duration.minutes > Time.current
。
理想情况下我会有一个ends_at
专栏,但不幸的是我没有。
有没有办法做到这一点?
解决方案
您可以使用interval
postgresql 然后添加 1 分钟乘以您的持续时间
Record.where("(scheduled_at + INTERVAL '1' MINUTE * duration) > ?", Time.current)
确保你的持续时间是一个整数
推荐阅读
- javascript - 你如何找到d3中的最后一个数据点并在上面画一个圆和一条线?
- excel - 如何在excel vba中访问另一台计算机上的图片
- matlab - 是否可以在 MATLAB/Simulink 中以编程方式启动 Stateflow 的符号向导?
- git - AOSP 的 git 仓库怎么克隆这么快?
- amazon-web-services - Amazon S3 存储桶图像已上传,但 URL 中的 AccessDenied
- ag-grid-angular - 我试图打印我的 ag-grid 但它不能根据官方文档工作?
- php - 为什么我在使用 nginx 时出现不允许的错误?
- sql - 更新字段并跟踪日期
- python - 如果我使用带有 pydrive 的服务帐户,为什么我需要刷新令牌?
- reactjs - 撰写图表静态 Y 轴值