whereBetween
方法用于验证一列的值是否介于两个值之间。
$from = date('2018-01-01');
$to = date('2018-05-02');
Reservation::whereBetween('reservation_from', [$from, $to])->get();
在某些情况下,您需要动态添加日期范围。根据@Anovative的评论,您可以这样做:
Reservation::all()->filter(function($item) {
if (Carbon::now()->between($item->from, $item->to)) {
return $item;
}
});
如果您想要添加更多的条件,那么您可以使用 orWhereBetween
。如果您想要排除一个日期区间,那么您可以使用 whereNotBetween
。
Reservation::whereBetween('reservation_from', [$from1, $to1])
->orWhereBetween('reservation_to', [$from2, $to2])
->whereNotBetween('reservation_to', [$from3, $to3])
->get();
其他有用的where子句: whereIn
, whereNotIn
, whereNull
, whereNotNull
, whereDate
, whereMonth
, whereDay
, whereYear
, whereTime
, whereColumn
, whereExists
, whereRaw
.
Laravel关于Where子句的文档。
reservation_from
中的日期格式是什么?您可以根据此使用 Carbon 值。 - Athi Krishnan