MOTOSHARE 🚗🏍️
Turning Idle Vehicles into Shared Rides & Earnings

From Idle to Income. From Parked to Purpose.
Earn by Sharing, Ride by Renting.
Where Owners Earn, Riders Move.
Owners Earn. Riders Move. Motoshare Connects.

With Motoshare, every parked vehicle finds a purpose. Owners earn. Renters ride.
🚀 Everyone wins.

Start Your Journey with Motoshare

Automatically Deleting 30-Day Old Data in Laravel

Managing data in a Laravel application is a critical task to ensure optimal performance and prevent database clutter. In this guide, we’ll explore how to automatically delete data that is older than 30 days from your Laravel application’s database. We’ll use a Laravel controller and Eloquent to achieve this task efficiently.

Understanding the Code

The provided code snippet is a part of a Laravel controller named PostController. It contains a method named index, which is responsible for deleting data that is 30 days old.

Here’s a breakdown of the code.

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Post;

First, we import the necessary dependencies, including the Post model, which presumably represents the data we want to delete.

public function index(Request $request)
{
    Post::whereDate('created_at', '<=', now()->subDays(30))->delete();
}

Inside the index method, we execute a database query using Eloquent. Here’s how it works:

  • We use the Post model to interact with the database.
  • The whereDate method filters the records based on the created_at column of the Post model.
  • We specify that we want to delete records where the created_at date is less than or equal to the current date minus 30 days, achieved using now()->subDays(30).
  • Finally, the delete method is called to remove the selected records from the database.

Implementing the Automatic Deletion Process

To make this code execute automatically, you can use Laravel’s task scheduling feature. Here’s how to set it up:

  1. Open the app/Console/Kernel.php file in your Laravel project.
  2. In the schedule method, add the following code to schedule the index method of PostController to run daily.

protected function schedule(Schedule $schedule)
{
    $schedule->call([new \App\Http\Controllers\PostController, 'index'])->daily();
}
  1. Save the file.

Now, Laravel will automatically run the index method of the PostController daily. This means that any data in the Post model’s table that is older than 30 days will be deleted automatically.

Related Posts

Expert SRE Training for Professionals in United Kingdom & London

The SRE Training in the United Kingdom and London program is taught by experienced people who share real stories from their work. You learn SRE basics, how to design…

Expert SRE Training for Professionals in Netherlands & Amsterdam

Site Reliability Engineering (SRE) is a way to keep computer systems running well and safe. This method uses software tools to handle operations work, helping teams build…

Expert SRE Training for Tech Professionals Across India

Site Reliability Engineering (SRE) is a way to keep computer systems running well and safe in today’s tech world. This method uses software tools and smart practices…

Expert-Led SRE Training for Tech Professionals Across Canada

Site Reliability Engineering (SRE) is a way to keep computer systems running well and safe. This method uses software tools to handle operations work, helping teams build…

Expert-Led SonarQube Training for Developers in Pune

SonarQube works as a main tool to keep code neat and safe in fast software work. This open tool checks code by itself to find bugs, safe…

Expert-Led SonarQube Training for Developers in Mumbai

SonarQube serves as a vital tool for keeping code clean and secure in fast-moving software projects. This open-source platform runs automatic checks to find bugs, security gaps,…

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x