How to delete rows dynamically in Laravel?

CRUD Operations like create, read, update and delete rows is the most common practice in Laravel applications. We can delete rows in Laravel using many different ways. The delete method in the Laravel Model class is a simple method to delete database rows in Laravel. However, often we require to delete rows dynamically in a Laravel application. Lets go through the main steps involved for this.

Delete rows dynamically in Laravel

The simple delete method in a Model or Controller can delete records from a database as shown below.

$delete = ModelName::whereIn('id', $ids_to_delete)->delete();

However, sometimes we need to delete rows dynamically. We can do this in a controller or using jQuery.

The .remove() method dynamically deletes a row using jQuery. It removes or deletes database table rows and also the data inside it the DOM dynamically using jQuery.

We can add the .remove() method in a blade file. You can create a jQuery function as shown below.

$(".delete-row").click(function(){
            $("table tbody").find('input[name="record"]').each(function(){
            	if($(this).is(":checked")){
                    $(this).parents("tr").remove();
                }
            });
        });

This reads the selected row and removes the row/s details that is selected or upon which the delete button is clicked on a blade file. When clicked, the ‘delete-row’ id invokes the dynamic deletion method as shown above.

This avoids the reloading process of the blade files after deleting a record. An efficient method for multiple deletions.

Leave a Comment