Skip to main content

Delete Table Data with Confirmation Prompt

Premium
2 min read

In this lesson, let's see how to add a confirmation prompt before deleting a record.

delete confirmation


So first, let's add a method to the Livewire component and a wire:click directive to the delete button to trigger that method.

app/Livewire/Products.php:

class Products extends Component
{
// ...
 
public function deleteProduct(int $productId): void
{
Product::where('id', $productId)->delete();
}
 
// ...
}

resources/views/livewire/products.blade.php:

<div class="space-y-6">
// ...
<td>
<a href="#" class="inline-flex items-center px-4 py-2 bg-gray-800 rounded-md font-semibold text-xs text-white uppercase tracking-widest">
Edit </a>
<a wire:click="deleteProduct({{ $product->id }})" href="#" class="inline-flex items-center px-4 py-2 bg-red-600 rounded-md font-semibold text-xs text-white uppercase tracking-widest"> // [tl! highlight]
Delete </a>
</td>
// ...
</div>

If you would try to delete any record, it would be...

The Full Lesson is Only for Premium Members

Want to access all of our courses? (31 h 16 min)

You also get:

55 courses
Premium tutorials
Access to repositories
Private Discord
Get Premium for $129/year or $29/month

Already a member? Login here

Comments & Discussion

OF
Orpheric Florent Allagbe (Orpheric_Codeur) ✓ Link copied!

Interesting functionality for adding a dialog box. You can also achieve the same result and even customize a password before the confirmation runs with Livewire's new "wire:confirm" feature. More info here: https://livewire.laravel.com/docs/wire-confirm

N
Nerijus ✓ Link copied!

Yes you can. This feature was added a couple months after this course was released.

N
Nurbek ✓ Link copied!

why is it deleted only for the first time, but it can't be deleted any further

M
Modestas ✓ Link copied!

Can you expand on this? Not sure what you have in mind here.

N
Nurbek ✓ Link copied!

in general, it deletes only once

HM
Hossam Mohamed ✓ Link copied!

pass id at the view and class