Laravel - Supprimer des enregistrements

Nous pouvons supprimer l'enregistrement en utilisant le DB façade avec le deleteméthode. La syntaxe de la méthode de suppression est indiquée dans le tableau suivant.

Syntaxe int delete (chaîne $ query, tableau $ liaisons = tableau ())
Paramètres
  • $ query (string) - requête à exécuter dans la base de données
  • $ bindings (array) - valeurs à lier avec des requêtes
Retour int
La description Exécutez une instruction de suppression sur la base de données.

Exemple

Step 1 - Exécutez la commande ci-dessous pour créer un contrôleur appelé StudDeleteController.

php artisan make:controller StudDeleteController --plain

Step 2 - Après une exécution réussie, vous recevrez la sortie suivante -

Step 3 - Copiez le code suivant dans un fichier

app/Http/Controllers/StudDeleteController.php

app/Http/Controllers/StudDeleteController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class StudDeleteController extends Controller {
   public function index() {
      $users = DB::select('select * from student');
      return view('stud_delete_view',['users'=>$users]);
   }
   public function destroy($id) {
      DB::delete('delete from student where id = ?',[$id]);
      echo "Record deleted successfully.<br/>";
      echo '<a href = "/delete-records">Click Here</a> to go back.';
   }
}

Step 4 - Créez un fichier de vue appelé

resources/views/stud_delete_view.blade.php et copiez le code suivant dans ce fichier.

resources/views/stud_delete_view.blade.php

<html>
   
   <head>
      <title>View Student Records</title>
   </head>
   
   <body>
      <table border = "1">
         <tr>
            <td>ID</td>
            <td>Name</td>
            <td>Edit</td>
         </tr>
         @foreach ($users as $user)
         <tr>
            <td>{{ $user->id }}</td>
            <td>{{ $user->name }}</td>
            <td><a href = 'delete/{{ $user->id }}'>Delete</a></td>
         </tr>
         @endforeach
      </table>
   </body>
</html>

Step 5 - Ajoutez les lignes suivantes dans app/Http/routes.php.

app/Http/routes.php

Route::get('delete-records','[email protected]');
Route::get('delete/{id}','[email protected]');

Step 6 −La sortie apparaîtra comme indiqué dans l'image suivante.

Step 7- Cliquez sur le lien de suppression pour supprimer cet enregistrement de la base de données. Vous serez redirigé vers une page où vous verrez un message comme indiqué dans l'image suivante.

Step 8 - Cliquez sur “Click Here” lien et vous serez redirigé vers une page où vous verrez tous les enregistrements sauf celui supprimé.