
使用 Laravel 根据日期范围检索记录
为了检索指定日期范围内的记录,Laravel 的 Eloquent ORM 提供了 whereBetween方法。此方法允许您指定列名称和两个日期的数组,代表所需范围的起点和终点。
1 2 3 4 5 | $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 方法动态定义范围的开始和结束日期:
1 2 3 4 5 6 | Reservation::all()
->filter( function ( $item ) {
if (Carbon::now()->between( $item ->from, $item ->to)) {
return $item ;
}
});
|
登录后复制
其他查询
- whereOrBetween:指定附加日期范围
- whereNotBetween:排除特定日期间隔。
示例:
1 2 3 4 | 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中文网其他相关文章!