首页 >后端开发 >php教程 >如何使用 Laravel Eloquent 查询两个日期之间的数据?

如何使用 Laravel Eloquent 查询两个日期之间的数据?

Linda Hamilton
Linda Hamilton原创
2024-12-17 21:09:15857浏览

How to Query Data Between Two Dates Using Laravel Eloquent?

如何使用 Laravel 和 Eloquent 查询两个日期之间的关系?

您可以使用 Eloquent 的 whereBetween 方法来查询两个日期之间的关系。此方法采用两个值的数组作为其参数,其中第一个值是开始日期,第二个值是结束日期。例如:

<?php

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

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

此查询将选择 booking_from 列在开始日期和结束日期之间的所有预订。

动态日期范围

您还可以使用过滤器方法动态添加日期范围。例如:

<?php

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

多个条件

您可以通过链接 where 方法来使用多个条件。例如:

<?php

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

其他有用的Where子句

Laravel Eloquent提供了其他有用的where子句,包括:

  • whereIn
  • whereNotIn
  • whereNull
  • whereNotNull
  • whereDate
  • whereMont h
  • whereDay
  • whereYear
  • whereTime
  • whereColumn
  • whereExists
  • whereRaw

对于更多信息,请参阅 Laravel 文档 [Where Clauses](https://laravel.com/docs/eloquent/queries) 和 [whereBetween](https://laravel.com/docs/eloquent/queries#where-clauses) ).

以上是如何使用 Laravel Eloquent 查询两个日期之间的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

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