Laravel 9 Livewire Datatable With Rappasoft Package

Hello artisan,

In this tutorial, I will show you how to create a functional livewire datatable in laravel 9. Rappasoft laravel livewire datatable is a plugin built for Laravel Livewire that allows us to create simple or advanced dynamic datatables. If you don't know how to use this rappasoft livewire datatable package then this article is for you.

I will simply use User model to generate laravel 9 livewire datatable. We can easily customize and can extends this package. It is very simple to use this package to generate and create laravel 9 livewire datatable. In this laravel 9 livewire datatable tutorial, we will create laravel livewire datatables using laravel rappasoft/laravel-livewire-tables package. So see the preview image that we are going to make:


Step 1 : Install Laravel

I am going to start from scratch. So download a fresh Laravel project using the below command:

composer create-project laravel/laravel example-app


Step 2 : Create Dummy Records

We need to run the following command to create dummy records in your user's table. let's run both commands:

php artisan tinker


Read also: Laravel 9 Livewire Datatables Example Step by Step


Step 3: Install Livewire & livewire-datatable

Now in this step, we will simply install livewire to our laravel application using below command:

composer require rappasoft/laravel-livewire-tables


php artisan vendor:publish --provider="Rappasoft\LaravelLivewireTables\LaravelLivewireTablesServiceProvider" --tag=livewire-tables-config

php artisan vendor:publish --provider="Rappasoft\LaravelLivewireTables\LaravelLivewireTablesServiceProvider" --tag=livewire-tables-views

php artisan vendor:publish --provider="Rappasoft\LaravelLivewireTables\LaravelLivewireTablesServiceProvider" --tag=livewire-tables-translations


Step 4: Create Component

Now here we will create a livewire component using their command. so run the below command to create the data tables component.

php artisan make:datatable UserTable User


Now update the users table class like:


namespace App\Http\Livewire;

use Rappasoft\LaravelLivewireTables\DataTableComponent;
use Rappasoft\LaravelLivewireTables\Views\Column;
use App\Models\User;

class UserTable extends DataTableComponent
    protected $model = User::class;

    public function configure(): void

    public function columns(): array
        return [
            Column::make("Id", "id")
            Column::make("Name", "name")
            Column::make("Email", "email")
            Column::make("Created", "created_at")

    public function filters(): array
        return [];


Step 5: Create Route

Now we will create one route for calling our example, so let's add a new route to the web.php file as below:


use Illuminate\Support\Facades\Route;

Route::get('datatables', function () {
    return view('welcome');


Step 6: Create View File

Now update the welcome file like the below:



Read also: Laravel 9 Rest API Development with Laravel Orion


Hope it can help you.


#laravel #laravel-9x #laravel-livewire