La suppression de plusieurs enregistrements à l'aide d'une case à cocher dans Laravel est un moyen de supprimer plusieurs enregistrements d'une table de base de données à la fois. Cela peut être fait en ajoutant une case à cocher à chaque enregistrement dans le tableau, puis en permettant à l'utilisateur de sélectionner les enregistrements qu'il souhaite supprimer.
Dans ce didacticiel, nous allons apprendre à supprimer plusieurs enregistrements dans Laravel 10 à l'aide d'une case à cocher. voyons supprimer plusieurs enregistrements dans laravel 10, comment supprimer une ligne particulière dans laravel 10 et comment supprimer plusieurs lignes dans laravel 10.
Étape 1 : Installer Laravel 10
Dans cette étape, nous allons installer laravel 10 à l'aide de la commande suivante.
composer create-project --prefer-dist laravel/laravel laravel_10_checkbox_example
Étape 2 : configurer la base de données
Maintenant, nous allons configurer les détails de la base de données comme dans l'exemple ci-dessous.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_10_checkbox_example
DB_USERNAME=root
DB_PASSWORD=root
Étape 3 : Ajouter des enregistrements factices à l'aide de Tinker
Dans cette étape, nous ajouterons des enregistrements factices dans la base de données pour effectuer la suppression de plusieurs enregistrements de la base de données. Alors, exécutez la commande suivante et créez des enregistrements factices.
php artisan tinker
factory(App\User::class, 100)->create();
Étape 4 : Créer un contrôleur
Dans cette étape, nous allons créer UserController à l'aide de la commande suivante. Alors, ajoutez le code ci-dessous à ce fichier.
php artisan make:controller UserController
app/Http/Controllers/UserController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
class UserController extends Controller
{
public function index(Request $request)
{
$list = User::orderby('id', 'desc')->get();
return view('index')->with('list', $list);
}
public function deleteMultipleUsers(Request $request)
{
$id = $request->id;
foreach ($id as $user)
{
User::where('id', $user)->delete();
}
return back();
}
}
Étape 5 : ajouter un itinéraire
Dans cette étape, nous allons ajouter des routes au fichier web.php .
routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\UserController;
Route::get('/', function () {
return view('welcome');
});
Route::controller(UserController::class)->group(function () {
Route::get('index', 'index');
Route::post('delete-multiple-user', 'deleteMultipleUsers')->name('deleteMultipleUsers');
});
Étape 6 : Créer un fichier lame
Maintenant, nous allons créer un fichier index.blade.php. Alors, ajoutez le code suivant à ce fichier.
ressources/views/index.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Laravel 10 Delete Multiple Records Using Checkbox</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<h1>Laravel 10 Delete Multiple Records Using Checkbox - Websolutionstuff</h1>
<form method="post" action="{{route('deleteMultipleUsers')}}">
{{ csrf_field() }}
<br>
<input class="btn btn-success" type="submit" name="submit" style="float: right;" value="Delete All Users"/>
<br><br>
<table class="table-bordered table-striped" width="50%">
<thead>
<tr>
<th class="text-center">S.No.</th>
<th class="text-center">User Name</th>
<th class="text-center"> <input type="checkbox" id="checkAll"> Select All</th>
</tr>
</thead>
<tbody>
@foreach ($list as $key => $value)
<tr>
<td class="text-center">{{$key}}</td>
<td class="text-center">{{$value->name}}</td>
<td class="text-center"><input name='id[]' type="checkbox" id="checkItem"
value="{{$value->id;}}"></td>
</tr>
@endforeach
</tbody>
</table><br>
</form>
</body>
</html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script language="javascript">
$("#checkAll").click(function () {
$('input:checkbox').not(this).prop('checked', this.checked);
});
</script>
Merci d'avoir lu !!!