Search code examples
mysqlsqllaravellaravel-5.3

Where date time is?


I have Mysql filed date with datetime format.

How can I do where request comparing only date without time part?

I mean the following:

date = 2016-04-45 11:00:00

When I do request I should get row above:

where("date", "=", "2016-04-45")

Solution

  • $q->where(DB::raw("DATE(created_at) = '".date('Y-m-d')."'"));
    $q->whereDate('created_at', '=', date('Y-m-d'));
    

    with Carbon

    $q->whereDate('created_at', '=', Carbon::today()->toDateString());
    
    $q->whereDay('created_at', '=', date('d'));
    $q->whereMonth('created_at', '=', date('m'));
    $q->whereYear('created_at', '=', date('Y'));