laravel原始查询日期比较



我有一个字符串列ddate = ('2020-06-02')time_start = ('4:25 PM'),我想将它们与date('Y-m-d H:i A')进行比较。

假设date('Y-m-d H:i A')=2021-06-02 01:14 AM
我想要的是显示ddate+time_start>date('Y-m-d H:I A')

我的where条款是:

->whereRaw('CONCAT(event_date, " ", time_start) > DATE("Y-m-d H:i A")')

但结果仍然显示了"2021-06-02 01:14 AM"以下的所有日期

我也试过

->whereRaw('DATE("Y-m-d H:i", CONCAT(event_date, " ", time_start)) > DATE("Y-m-d H:i")')

但是我有语法错误。

我的第二个查询是否已经正确,只是语法错误?

如果没有,我该如何实现我想要的?

如果您使用php传递当前日期,则必须这样做:

->whereRaw('CONCAT(event_date, " ", time_start) >'. date("Y-m-d H:i A"))

如果您希望mysql处理当前日期,请使用now((

->whereRaw('CONCAT(event_date, " ", time_start) > now()')
MySQL DATE((函数用于从日期时间中提取日期部分。使用PHP日期函数代替,或者您可以使用Carbon。
->whereRaw("CONCAT(event_date, ' ', time_start) > " . date('Y-m-d g:i A'))

最新更新