我在比较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;
}
我希望你可以帮我处理我的代码,我只想比较两个日期的日期和月份
答案 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();