How to Group a Collection by Day, Month, and Year in Laravel ?

In Laravel, you can use the groupBy and groupByDesc methods in combination with the date function to group a collection by day, month, and year. Here’s an example of how to do this:

$posts = Post::all(); // Assuming we have a Post model

$groupedPosts = $posts->groupBy(function ($post) {
    return $post->created_at->format('Y-m-d');

 the above code, we use the groupBy method and pass a callback function that formats the created_at date using the format method. The Y-m-d format represents the year, month, and day of the date. This callback function ensures that items with the same date are grouped together.

The resulting $groupedPosts variable will contain a new collection where each key represents a unique date, and the corresponding value is a collection of posts created on that date.

Accessing Grouped Data: Once we have our grouped collection, we can easily access and iterate over the grouped data. We can use the foreach loop to loop through each group and its corresponding items.

Here’s an example of how we can access the grouped data:

foreach ($groupedPosts as $date => $posts) {
    echo "Date: " . $date . "\n";
    foreach ($posts as $post) {
        echo "- " . $post->title . "\n";
    echo "\n";
Hi I am Amit Kumar Thakur Experienced as s Software Developer with a demonstrated history of working in the information technology and services industry. Skilled in HTML, CSS, Bootstrap4, PHP, Laravel-9 , REST API,FB API,Google API, Youtube Api, Bitbucket,Github,Linux and jQuery. Strong engineering professional focused in Computer/Information Technology Administration and Management. Currently my profile is to Software Developer, analyze the requirement, creating frame for web application, coding and maintenance.

Related Posts

How to Crawl any website Meta Title and Meta Description in Laravel ?

1st step install below package. Next to create Controller First go to route and put below code Next go to controller and put below code Next go…

SQLSTATE[HY000] [2002] No such file or directory (Connection: mysql, SQL: insert into `oauth_clients` (`user_id`, `name`, `secret`

In this tutorial i’m going to solve the error SQLSTATE[HY000] [2002] No such file or directory (Connection: mysql, SQL: insert into oauth_clients (user_id, name, secret Error :-…

Top 20 Laravel Interview Question in 2024

In this tutorial im going share interview experience For laravel developer. A list of top frequently asked Laravel Interview Questions and answers are given below. Q #1) What is…

How to Get Google Analytics API key ?

In this tutorial we’re going to share how to get the google Analytics API key. I have shared in very easy way. First go enable Google analytics…

Youtube Subscriber Count in ReactJs

In this tutorial i’m going to learn how to count YouTube Subsribers count, views count as well, as define below. In order to install your app, first…

How to Disable Laravel’s Eloquent timestamps in laravel ?

In this tutorial we’re going to share how to disable the automatic created_at and updated_at timestamps in Laravel’s Eloquent models, along with explanations of different scenarios: 1st…

0 0 votes
Article Rating
Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x