首页 >后端开发 >php教程 >如何使用 Laravel 的 Eloquent ORM 检索特定日期范围内的记录?

如何使用 Laravel 的 Eloquent ORM 检索特定日期范围内的记录?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-08 07:49:13658浏览

How to Retrieve Records Within a Specific Date Range Using Laravel's Eloquent ORM?

使用 Laravel 根据日期范围检索记录

为了检索指定日期范围内的记录,Laravel 的 Eloquent ORM 提供了 whereBetween方法。此方法允许您指定列名称和两个日期的数组,代表所需范围的起点和终点。

$from = date('2018-01-01');
$to = date('2018-05-02');

Reservation::whereBetween('reservation_from', [$from, $to])
    ->get();

此查询将检索reservation_from列值介于一月之间的所有预订2018年1月1日和2018年5月2日。

动态范围参数

您还可以使用 Carbon 的 Between 方法动态定义范围的开始和结束日期:

Reservation::all()
    ->filter(function($item) {
        if (Carbon::now()->between($item->from, $item->to)) {
            return $item;
        }
    });

其他查询

  • whereOrBetween:指定附加日期范围
  • whereNotBetween:排除特定日期间隔。

示例:

Reservation::whereBetween('reservation_from', [$from1, $to1])
    ->orWhereBetween('reservation_to', [$from2, $to2])
    ->whereNotBetween('reservation_to', [$from3, $to3])
    ->get();

其他Where子句

为了进一步提高灵活性,Laravel 提供了额外的WHERE 子句,包括:

  • whereIn
  • whereNotIn
  • whereNull
  • whereNotNull
  • whereDate
  • whereM上
  • whereDay
  • whereYear
  • whereTime
  • whereColumn
  • whereExists
  • whereRaw

以上是如何使用 Laravel 的 Eloquent ORM 检索特定日期范围内的记录?的详细内容。更多信息请关注PHP中文网其他相关文章!

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