如何比较laravel中的两个日期

时间:2017-05-15 06:58:22

标签: php laravel lumen

  

我在比较laravel中的两个日期时遇到了困难,我尝试了这段代码   在mysql下面它运行良好但是当我在laravel上传输它时它不起作用

SELECT * FROM `holiday` WHERE date_format(holiday.date,'%m-%d') = date_format('2017-05-15','%m-%d')
  

这是我在laravel中的代码

public function getHoliday(){
 $date = '2017-05-15';

         $data = DB::table('holiday')
         ->select(
            'holiday.id'
            )
        ->whereRaw("date_format(holiday.date, '%m-%d') "=" date_format($date, '%m-%d')")

        ->first();



        return $data;

    }
  

我希望你可以帮我处理我的代码,我只想比较两个日期的日期和月份

2 个答案:

答案 0 :(得分:1)

尝试更改此行:

->whereRaw("date_format(holiday.date, '%m-%d') "=" date_format($date, '%m-%d')")

到这个

 ->where(date_format(holiday.date, '%m-%d') , date_format($date, '%m-%d'))

EDIT。

尝试使用此日期助手

          ->whereDay('date', '=', date('d'))
          ->whereMonth('date', '=', date('m'))
          ->first();

答案 1 :(得分:1)

$data = DB::table('holiday')
    ->select([
        'holiday.id',
        'holiday.date',
    ])
    ->whereRaw("date_format(holiday.date, '%m-%d') = date_format('$date', '%m-%d')")
    ->first();