Limited Time Offer!

For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!

Enroll Now

How to use Soft Delete and Restore Deleted Data in Laravel ?

In this Laravel tutorial we are going to learn How to use Soft Delete in Laravel framework. We will see how can we restore deleted records and again we can see that records in our Laravel application with the help of soft delete.

Install Laravel Framework

For implement SoftDelete, first we need to download fresh copy of Laravel framework. So we have to go to command prompt and run following command.

composer create-project --prefer-dist laravel/laravel soft_delete

Make Database Connection

After download latest version of Laravel framework, first we need to make databae connection. So for make database connection in Laravel application, we have to open .env file and under that file we have to define our MySQL database configuration details.

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=testing
DB_USERNAME=root
DB_PASSWORD=

Create Model Class

php artisan make:model Category -m

First go to your migration and add this column below

$table->softDeletes();
Go to your model and add this class

use SoftDeletes;

Next go your controller

public function AllCat(){
     
        $categories = Category::latest()->get();
        $traChat = Category::onlyTrashed()->latest()->paginate(5);
        return view('admin.category.index',compact('categories','traChat'));
    }

Next go to your view file where you want to show the deleted data

<div class="container">
                <div class="row">
                trash part
                </div>
                <table class="table">
                        <thead>
                            <tr>
                                <th scope="col">SL No</th>
                                <th scope="col">Category Name</th>
                                <th scope="col">User</th>
                                <th scope="col">Created At</th>
                                <th scope="col">Action</th>
                            </tr>
                        </thead>
                        <tbody>
                            @foreach($traChat as $category)
                            <tr>
                                <th scope="row">{{ $category->id}}</th>
                                <td>{{ $category->category_name}}</td>
                                <td>{{ $category->user->name }}</td>
                                <td>{{ $category->created_at}}</td>
                                <td>
                                    
                                    <a href="{{ route('category.edit',$category->id)}}" class="btn btn-info">Edit</a>
                                    <a href="{{ route('category_delete',$category->id)}}" class="btn btn-danger">Delete</a>
                                </td>
                            </tr>
                            <tr>
                            @endforeach
                        </tbody>
                    </table>
            </div>

Restore deleted data through softdelte

Go to web.php and paste below code.

Route::get('/category/restore/{id}',[CategoryController::class,'Restore'])->name('category_restore');

Go to your blade page


<a href="{{ route('category_restore',$category->id)}}" class="btn btn-info">Edit</a>

Next go to your controller and put down below function

public function Restore($id)
    {
        $delete = Category::withTrashed()->find($id)->restore();
        return redirect()->route('all.category')->with('delete', 'category delete successfully');
    }

Now Deleted data restore successfully.

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
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x