我的查询生成器代码无效(whereRaw(“ DAY(time)=?”,$ day)

时间:2019-08-17 17:47:08

标签: php

我的代码是whereRaw("DAY(time) = ?", $day)->get();

但是我的代码现在无法使用...

我不明白,因为whereRaw("DAY(time) = ?", 5)->get()可以工作。

为什么不使用$day代码?

我得到使用时间Carbon::now(),得到一天$time->day

DAY(time) = ?", $day)->get() <不起作用

DAY(time) = ?", 8)->get() <工作

我不明白。

$result = DB::table('show')->whereYear('time',$year)->whereMonth('time',$month)->where(function ($mQuery){$mQuery->whereRaw("DAY(time) = $day")->whereRaw("HOUR(time) >= ?", $hour)->orWhereRaw("DAY(time) > $day");})->get();

对不起,我的英语不好。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

我没有使用

  

使用($ day,$ hour)

<<所以,我的代码没有得到$ day,$ hour ...

我的代码$ day,$ hour为空。

更改我的代码->

$result = DB::table('board_show')->whereYear('time',$year)->whereMonth('time',$month)->where(function ($mQuery) use ($day, $hour) {$mQuery->whereRaw("DAY(time) = ?", [$day])->whereRaw("HOUR(time) >= ?", [$hour])->orWhereRaw("DAY(time) > ?", [$day]);})->get();