wheredate in laravel not working

Updated at 31-Aug-2021, By samar

wheredate in laravel not working

In this session, we’ll try our hand at solving the "wheredate in laravel not working" puzzle by using the computer language.

There could be any issue in script while comparing with column's value that's why wheredate method is not working. WhereDate method is used to compare a column's value against a date in laravel
  • Laravel whereDate() method on created_at field

    $users = User::whereDate('created_at', '=', date('Y-m-d'))->get();
    return $users;
    
    //Or
    $users = User::whereDate('created_at', '=', '2021-8-31')->get();
    return $users;
    

    Output:

    [{"id":16,"name":"Kayla","email":"[email protected].com","email_verified_at":null,
    "created_at":"2021-08-31T08:24:43.000000Z","updated_at":"2021-08-31T08:24:43.000000Z"}]

    This code snippet will help you to get the records from users table on the base of current (today) date. You can pass date "2021-8-31" in ('Y-M-D') format as third argument to whereDate() method to get the record of specific date from table.

  • Laravel whereDate() method on created_at field with dynamic value

    //2021-08-02
    $users = User::whereDate('created_at', '=', User::find(1)->created_at->toDateString())->get();
    return $users;
    
    //2021-08-02
    $users = User::whereDate('created_at', '=', User::find(1)->created_at->format('Y-m-d'))->get();
    return $users;
    
    //Output :
    [{"id":16,"name":"Kayla","email":"[email protected]","email_verified_at":null,"created_at":"2021-08-02T08:24:43.000000Z","updated_at":"2021-08-31T08:24:43.000000Z"}]
    

    You can pass dynamic value to whereDate method using created_at() and toDateString() method on create_at attribute. The method format() and toDataString() convert the timestamp (date and time) value into date format.

Back to code snippet queries related laravel