使用 whereBetween
驗證列的值是否在兩個值之間:
$from = date ( '2021-01-01' );
$to = date ( '2021-10-09' );
Model::whereBetween ( 'created_at', [ $from, $to ] )->get();
在某些情況下,需要動態新增日期範圍。
Model::all()->filter ( function ( $item ) {
if ( now()->between ( $item->from, $item->to ) ) {
return $item;
}
} );
如果想新增更多條件,可以使用 orWhereBetween
方法。如果想排除日期,可以使用 whereNotBetween
方法。
Model::::whereBetween ( 'created_at', [ $form1, $to1 ] )
->orWhereBetween ( 'publish_at', [ $form2, $to2 ] )
->orWhereNotBetween ( 'release_at', [ $form3, $to3 ] )
->get();
其他有用的 where 子句:whereIn
、whereNotIn
、whereNull
、whereNotNull
、whereDate
、whereMonth
、whereDay
、whereYear
、whereTime
、whereColumn
、whereExists
、whereRaw
。
本作品採用《CC 協議》,轉載必須註明作者和本文連結