dongxiangchan0743 2017-12-29 17:29
浏览 583
已采纳

Laravel在where子句中更改日期格式以匹配Carbon :: now()

I need to select entries based on dates happening in the future and the
entries contain the date format:

12/30/17

I'm trying to format the date and compare to Carbon::now() timestamp, with no luck.

$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();
  • 写回答

2条回答 默认 最新

  • drza10046 2017-12-29 17:44
    关注

    You'll need to use STR_TO_DATE to convert the string.

    $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 will convert 12/30/17 to 2017-12-30

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?