我需要根据将来发生的日期选择条目 条目包含日期格式:
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();
答案 0 :(得分:4)
您需要使用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
答案 1 :(得分:0)
我认为你真的不需要检查日期格式。此外,您在查询中有一些冗余的东西。就这样做:
Booking::where('uid', auth()->id())->where('date', '>=', now())->get();
如果同一列中某些行的日期格式确实不同,那么你真的需要修复它,而不是为此做一些脏修复。
答案 2 :(得分:0)
$bookings = DB::table('booking')
->select('booking.*')
->where('booking.uid', '=', Auth::id())
->where(DB::raw("(DATE_FORMAT(booking.date,'%Y-%m-%d'))"), ">=", $now)
->get();