wheredate in laravel not working

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

Answers 2
  • 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;
    
    0

    Output:

    [{"id":16,"name":"Kayla","email":"[email protected]","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"}]
    
    0

    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