[英]Laravel change date format in where clause to match Carbon::now()
我需要根据未来发生的日期和
条目包含日期格式:
12/30/17
我正在尝试格式化日期并与 Carbon::now() 时间戳进行比较,但没有运气。
$now = \Carbon\Carbon::now();
$bookings = DB::table('booking')
->select('booking.*')
->where('booking.uid', '=', Auth::id())
->where(DB::raw("(DATE_FORMAT(booking.date,'%Y-%m-%d 00:00:00'))"), ">=", $now)
->get();
您需要使用STR_TO_DATE来转换字符串。
$bookings = DB::table('booking')
->select('booking.*')
->where('booking.uid', '=', Auth::id())
->where(DB::raw("(STR_TO_DATE(booking.date,'%m/%d/%y'))"), ">=", $now)
->get();
STR_TO_DATE将转变12/30/17
至2017-12-30
我不认为你真的需要检查日期格式。 此外,您在查询中有一些多余的东西。 只需这样做:
Booking::where('uid', auth()->id())->where('date', '>=', now())->get();
如果同一列中某些行的日期格式确实不同,则您确实需要解决此问题,而不是为此进行一些肮脏的修复。
$bookings = DB::table('booking')
->select('booking.*')
->where('booking.uid', '=', Auth::id())
->where(DB::raw("(DATE_FORMAT(booking.date,'%Y-%m-%d'))"), ">=", $now)
->get();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.