Laravel 10 Delete Multiple Records Using Checkbox
In this article, we will see laravel 10 delete multiple records using the checkbox. Here, we will learn about how to delete multiple records using a checkbox in laravel 10.
In the table, we have multiple records at that time we need to remove multiple records or need to remove the selected records from the database. So, that time it can easily remove records from the database.
So, let's see delete multiple records in laravel 10, how to delete a particular row in laravel 10, and how to delete multiple rows in laravel 10.
Step 1: Create Controller
In this step, we will create UserController using the following command. So, add the below code to that file.
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();
}
}
Step 2: Add Route
In this step, we will add routes to the web.php file.
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');
});
Step 3: Create Blade File
Now, we will create an index.blade.php file. So, add the following code to that file.
resources/views/index.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Laravel 10 Delete Multiple Records Using Checkbox - Websolutionstuff</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>