首页  >  文章  >  数据库  >  如何在 Laravel 中查询某个日期范围内的记录?

如何在 Laravel 中查询某个日期范围内的记录?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-26 21:34:29956浏览

How to Query for Records Within a Date Range in Laravel?

Laravel 查询日期范围内的日期

在 Laravel 中,您可以使用 whereBetween 方法来查询模型中包含日期或日期的记录日期时间列落在指定范围内。这对于检索在给定时间内到期或续订的记录等任务非常有用。

原始问题:

作者最初寻求查询以选择到期的项目在接下来的 7 天内重复或续订,使用 where 方法检查大于特定时间戳的日期。

已解决的解决方案:

但是,作者发现他们需要查询大于当前日期减去 7 天的日期。这是使用 whereBetween 方法实现的,如下所示:

<code class="php">$projects = Project::whereBetween('recur_at', [
    Carbon::now(),
    Carbon::now()->addWeek()
])
->where('status', '<', 5)
->where('recur_cancelled', '=', 0)
->get();</code>

改进的查询:

第二个解决方案是通过使用 where 方法直接链接条件来改进的:

<code class="php">$projects = Project::where('recur_at', '<=', Carbon::now()->addWeek())
->where('recur_at', '!=', "0000-00-00 00:00:00")
->where('status', '<', 5)
->where('recur_cancelled', '=', 0)
->get();</code>

这简化了查询并消除了对 function(q) 语法的需要。

以上是如何在 Laravel 中查询某个日期范围内的记录?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn