如何检查当前日期是否在 Laravel 5.4 中的两个日期之间

Sha*_*k k 5 php mysql laravel

我有一张桌子

    +---------------------+-----------
    | id | start_date     |  End_date |
    +---------------------+-----------+
    |   1  | 2017-07-07   | 2017-07-31|
    |   2  | 2017-08-01   | 2017-08-31|
    |   3  | 2017-09-01   | 2017-09-10|
    |  
    +------+--------------+-----------+
Run Code Online (Sandbox Code Playgroud)

我想在两个日期之间选择日期。我有一个查询

 SELECT * FROM Financial_Year WHERE CURDATE() between `start_date` and `End_date`
Run Code Online (Sandbox Code Playgroud)

我想将此查询转换为 Laravel 所以我尝试了这个

 $dt = Carbon::now();
 $getmonths= DB::table('Financial_Year')
                    ->whereBetween($dt, ['start_date', 'End_date'])->get();
Run Code Online (Sandbox Code Playgroud)

但我没有得到输出。任何帮助将不胜感激。

Bib*_*hoo 12

在这里你可以使用 laravel whereRaw() 来实现这一点。

像这样

$dt = Carbon::now();
$getmonths= DB::table('Financial_Year')
    ->whereRaw('"'.$dt.'" between `start_date` and `End_date`')
    ->get();
Run Code Online (Sandbox Code Playgroud)

  • `where between` 仅适用于数字而不适用于日期 (4认同)