使用命名范围

发布于 2024-10-27 17:53:29 字数 180 浏览 1 评论 0原文

我有一个时间表模型,其中开始时间为日期时间持续时间以分钟为整数

使用命名范围有一种方法可以获取具有 (start_time +uration) (start_time +uration) <当前时间

I have a schedule model having start time as date time and duration in minutes as integer.

Using named scope is there a way I can get the records having (start_time + duration) < current_time ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤独难免 2024-11-03 17:53:29

您可以使用 SQL 级别日期操作函数来实现您所要求的功能,例如 mysql 的 DATE_ADD

scope :not_over, where('DATE_ADD(start_time, INTERVAL duration MINUTE) > UTC_TIMESTAMP()')

尽管如果考虑性能,您可能需要预先计算“end_time”列并在其上添加索引。

You might implement what you asked for with SQL level date manipulation functions, like mysql's DATE_ADD:

scope :not_over, where('DATE_ADD(start_time, INTERVAL duration MINUTE) > UTC_TIMESTAMP()')

Though if performance is a consideration, you might want to precalculate an 'end_time' column and add an index on it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文