Friday, November 14, 2025
HomeLanguagesLaravel | Delete Records

Laravel | Delete Records

To delete records we can use DB facade with the delete method. To do so follow the below steps one by one:

  • Step 1: Create Controller UserController by executing this command.
    php artisan make:controller UserController

  • Step 2: We can delete records in two ways.

    First Method: The first is to delete direct using database command. Write following Code in App/Http/Controllers/UserController.php




    <?php
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    use DB;
    class UserController extends Controller {
           public function index() 
           {
              $users = DB::select('SELECT * FROM users');
              return view('user', ['users'=>$users]);
           }
           public function destroy($id) 
           {
              DB::delete('DELETE FROM users WHERE id = ?', [$id]);
              echo ("User Record deleted successfully.");
              return redirect()->route('users.index');
           }
    }

    
    

    Second Method: The second way is to delete using the Laravel delete Function and User Model (Easy one).




    <?php
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    use App\User;
    class UserController extends Controller {
           public function index() 
           {
              $users = User::All();
              return view('user', ['users'=>$users]);
           }
           public function destroy($id) 
           {
              $user = User::where('id', $id)->firstorfail()->delete();
              echo ("User Record deleted successfully.");
              return redirect()->route('users.index');
           }
    }

    
    
  • Step 3: Implementation or Driver Code and create web routes for implementation of the above code in routes/web.php




    <?php
    Route::get('/user', 'UserController@index')->name('users.index');
    Route::delete('/user/{id}', 'UserController@destroy')
        ->name('users.destroy');
    ?>

    
    
  • Step 4: Create a View File from where we display our users in resources/views directory name user.blade.php. Write following HTML code.




    <!DOCTYPE html>
    <html>
      
    <head>
        <title>Users Record</title>
        <style type="text/css">
            table {
                color: #333;
                font-family: sans-serif;
                width: 640px;
                border-collapse: collapse;
                border-spacing: 0;
            }
              
            td,
            th {
                border: 1px solid #CCC;
                height: 30px;
            }
              
            th {
                background: #F3F3F3;
                font-weight: bold;
            }
              
            td {
                background: #FAFAFA;
                text-align: center;
            }
        </style>
    </head>
      
    <body>
        <table>
            <tr>
                <td>ID</td>
                <td>Name</td>
                <td>Email</td>
                <td>Delete</td>
            </tr>
            @foreach ($users as $user)
            <tr>
                <td>{{ $user->id }}</td>
                <td>{{ $user->name }}</td>
                <td>{{ $user->email }}</td>
                <td><a href="{{ route('users.index') }}" 
                       onclick="event.preventDefault();
                        document.getElementById(
                          'delete-form-{{$user->id}}').submit();">
                     Delete 
                    </a>
                </td>
                <form id="delete-form-{{$user->id}}" 
                      + action="{{route('users.destroy', $user->id)}}"
                      method="post">
                    @csrf @method('DELETE')
                </form>
            </tr>
            @endforeach
        </table>
    </body>
      
    </html>

    
    
  • Step 5: Start the server by executing php artisan:serve command and go to http://localhost:8000/user and the output will be:
  • Output: Click on the delete button to get the record deleted. After deleting two records output is:
RELATED ARTICLES

Most Popular

Dominic
32399 POSTS0 COMMENTS
Milvus
95 POSTS0 COMMENTS
Nango Kala
6765 POSTS0 COMMENTS
Nicole Veronica
11917 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11984 POSTS0 COMMENTS
Shaida Kate Naidoo
6889 POSTS0 COMMENTS
Ted Musemwa
7142 POSTS0 COMMENTS
Thapelo Manthata
6837 POSTS0 COMMENTS
Umr Jansen
6840 POSTS0 COMMENTS