首頁 >後端開發 >php教程 >如何使用 Laravel 的 Eloquent ORM 檢索特定日期範圍內的記錄?

如何使用 Laravel 的 Eloquent ORM 檢索特定日期範圍內的記錄?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-08 07:49:13649瀏覽

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
  • whereDay
  • whereYear
  • whereTime
  • whereColumn
  • where>where>where>

以上是如何使用 Laravel 的 Eloquent ORM 檢索特定日期範圍內的記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn