Skip to content
Readerstacks logo Readerstacks
  • Home
  • Softwares
  • Angular
  • Php
  • Laravel
  • Flutter
Readerstacks logo
Readerstacks
Compare date in where query laravel

How to compare date in where query laravel eloquent

Aman Jain, February 5, 2022November 14, 2023

Laravel use carbon library to format and show the date and to compare date in where query laravel or db builder it uses carbon internally so compare date in where query in laravel is almost same as executing where using other data type but if we wanted to go more specific then we can use whereDate method of laravel eloquent. It parse the date time to date and we can easily compare or match the date.

In this article we will learn to use whereDate, whereYear, whereMonth, whereDay and whereTime function in laravel eloquent and query builder. To compare with MySql datetime we can use thease above function.

These methods works same as where method like we can pass multiple parameters to it. First parameter can be column or closure function and second can be operator or value ans so on.

The Date Format

Laravel Eloquent typically stores dates in the Y-m-d H:i:s format. Understanding this format is pivotal as it forms the basis for date comparisons. Remember, precision matters when dealing with dates, and Laravel expects you to follow suit.

Here is the syntax

whereDate('COLUMN_NAME',date_value);

//OR

whereYear('COLUMN_NAME',date_value);

//OR

whereMonth('COLUMN_NAME',date_value);
//OR

whereDay('COLUMN_NAME',date_value);
//OR

whereTime('COLUMN_NAME',date_value);

In the above syntax we have used whereDate, whereYear, whereMonth, whereDay and whereTime function to compare the date in laravel .

Example:

$users = DB::table('users')
                ->whereDate('created_at', '2016-12-31')
                ->get();

//or

$users = DB::table('users')
                ->whereYear('created_at', '2021')
                ->get();
//or

$users = DB::table('users')
                ->whereMonth('created_at', '12')
                ->get();
//or

$users = DB::table('users')
                ->whereDay('created_at', '1')
                ->get();

and if we want the same in model

User::whereDate("created_at","2023-11-14")

Comparing date using raw query in laravel

We can also compare the date time in laravel using raw query or simple where condition. we will use DB::raw method to compare this.

$users = DB::table('users')
                ->where('created_at', '2016-12-31')
                ->get();

//or

$users = DB::table('users')
                ->where(\DB::raw('date("created_at")', '2021')
                ->get();
 

Comparing date in using operators like greater then equal to etc.

$users = DB::table('users')
                ->whereDate('created_at',">=", '2016-12-31')
                ->get(); 

Date comparisons in Eloquent queries serve as a fundamental tool for scenarios demanding meticulous data filtering within specified temporal boundaries. This capability proves invaluable for tasks such as generating detailed reports, analyzing trends, or extracting data pertinent to particular timeframes.

Pros and Cons:

Pros:

  • Precision in Querying: Date comparisons allow for pinpoint accuracy in filtering, ensuring the retrieval of precisely targeted data.
  • Facilitates Time-sensitive Operations: Essential for operations dependent on specific timeframes, such as event scheduling or analytical assessments.

Cons:

  • Potential for Complexity: In more intricate scenarios, accommodating diverse date formats or time zones may introduce complexities to query construction.
  • Extended Query Length: Multiple date comparisons can result in longer queries, potentially impacting overall performance.

I hope you like the article and Happy Coding!!

Related

Php Laravel datelaravelmysql

Post navigation

Previous post
Next post

Related Posts

Php How to Create Enum Field in Laravel Migration

How to Create Enum Field in Laravel Migration ?

June 30, 2022August 17, 2022

In laravel while creating table schema for some columns we want to add column type enum field so in this article we will create Enum Field in Laravel Migration. We can easily add enum column as we add other varchar integer etc columns in laravel. Enum is useful when we…

Read More
Php How to Get Last Record With Group By in Laravel Eloquent

How to Get Last Record With Group By in Laravel Eloquent ?

September 7, 2022March 16, 2024

In this tutorial we will learn to get last record with group by in laravel eloquent. while working with group by in mysql its gives first record from the group by records that means if you have multiple record with same id and you want the most recent record or…

Read More
Laravel folder paths using helpers in laravel

How to get folder paths using helpers in laravel?

August 27, 2021February 22, 2024

Laravel has helpers to get folder paths using helpers in laravel and by which we can easily get root folder, public folder, assets folder, storage folder, app folder etc. Laravel has helpers to get the path of root folder, public folder, assets folder, storage folder, app folder. To get the…

Read More

Aman Jain
Aman Jain

With years of hands-on experience in the realm of web and mobile development, they have honed their skills in various technologies, including Laravel, PHP CodeIgniter, mobile app development, web app development, Flutter, React, JavaScript, Angular, Devops and so much more. Their proficiency extends to building robust REST APIs, AWS Code scaling, and optimization, ensuring that your applications run seamlessly on the cloud.

Categories

  • Angular
  • CSS
  • Dart
  • Devops
  • Flutter
  • HTML
  • Javascript
  • jQuery
  • Laravel
  • Laravel 10
  • Laravel 11
  • Laravel 9
  • Mysql
  • Php
  • Softwares
  • Ubuntu
  • Uncategorized

Archives

  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • October 2024
  • July 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • July 2023
  • March 2023
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Recent Posts

  • The Transformative Power of Education in the Digital Age
  • Understanding High Vulnerabilities: A Closer Look at the Week of July 14, 2025
  • Exploring Fresh Resources for Web Designers and Developers
  • The Intersection of Security and Technology: Understanding Vulnerabilities
  • Mapping Together: The Vibrant Spirit of OpenStreetMap Japan
©2023 Readerstacks | Design and Developed by Readerstacks
Go to mobile version