PHPackages                             hassanhelfi/tabavel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. hassanhelfi/tabavel

ActiveLibrary[Search &amp; Filtering](/categories/search)

hassanhelfi/tabavel
===================

Low-code dynamic tables for Laravel. We build the base (filtering, sorting, pagination, search) — you design the rows.

v1.0.0(4mo ago)12MITBladePHP ^8.2

Since Feb 20Pushed 4mo agoCompare

[ Source](https://github.com/HassanHelfi/tabavel)[ Packagist](https://packagist.org/packages/hassanhelfi/tabavel)[ Docs](https://github.com/hassanhelfi/tabavel)[ RSS](/packages/hassanhelfi-tabavel/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (5)Versions (2)Used By (0)

Tabavel
=======

[](#tabavel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/c4bcc22e8057ab04c475a6252e4bd80df3a9cafd9a62825013582ef09005daa2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f68617373616e68656c66692f7461626176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/hassanhelfi/tabavel)[![PHP Version](https://camo.githubusercontent.com/cb53420dbeb8da8574a1e3fad95d08bd77b01959f95b582f9955214065e73677/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f68617373616e68656c66692f7461626176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/hassanhelfi/tabavel)[![Total Downloads](https://camo.githubusercontent.com/e22c511e68d87375046c6588674bbc470fd4ec3d3e5efd31929c4d05adac84d2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f68617373616e68656c66692f7461626176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/hassanhelfi/tabavel)[![License](https://camo.githubusercontent.com/a02b4a0ae05a294d78906153f30beb4b89bcbcd1930660ad0f4359c2bd7eb8ce/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f68617373616e68656c66692f7461626176656c2e7376673f7374796c653d666c61742d737175617265)](LICENSE)

**We build the base — you design the table.**

Tabavel gives you filtering, sorting, pagination, and search out of the box.
You decide how much control you want:

ModeYou writeBest for**Default**NothingQuick tables, admin panels**Custom Rows**Only `` rowsWhen you need images, badges, custom buttons**Full Custom**Entire table HTMLComplete design freedomInstall
-------

[](#install)

```
composer require hassanhelfi/tabavel
```

Publish config (optional):

```
php artisan vendor:publish --tag=tabavel-config
```

---

Controller (Same for All Modes)
-------------------------------

[](#controller-same-for-all-modes)

```
use HassanHelfi\Tabavel\Services\TableBuilder;
use Illuminate\Support\Facades\DB;

public function index(Request $request)
{
    $query = DB::table('products')
        ->select(['id', 'name', 'price', 'category', 'active', 'created_at']);

    $table = TableBuilder::make($query)
        ->columns([
            'name'     => ['type' => 'text', 'operators' => ['=', 'like']],
            'price'    => ['type' => 'text', 'operators' => ['=', '>', '
    @foreach($table->get() as $product)

            {{ $product->id }}

            {{ $product->name }}
            {{ number_format($product->price) }} $
            {{ $product->category }}

                @if($product->active)
                    Active
                @else
                    Inactive
                @endif

                    Edit

    @endforeach

```

---

Mode 3: Full Custom
-------------------

[](#mode-3-full-custom)

Don't use our views at all. Build your own table from scratch:

```

            @foreach($table->getColumns() as $col)
                {{ $col['label'] }}
            @endforeach

        @foreach($table->get() as $row)

                {{-- Design however you want --}}
                {{ $row->name }}
                {{ $row->price }}

        @endforeach

{{ $table->get()->links() }}
```

---

Component Props
---------------

[](#component-props)

PropTypeDefaultDescription`table``TableBuilder``null`The TableBuilder instance`id``string``'tabavel-table'`HTML id for the table element`action``string`current URLForm action URL for filters`custom-rows``bool``false`Enable custom row mode`show-actions``bool``false`Show the "Actions" column`searchable``bool`auto-detectedShow global search input`pagination-view``string`auto-detectedCustom pagination view---

Column Configuration
--------------------

[](#column-configuration)

```
->columns([
    // Text filter with operators
    'name' => [
        'type'      => 'text',
        'label'     => 'Product Name',
        'operators' => ['=', '!=', 'like', 'like%'],
    ],

    // Select dropdown filter
    'status' => [
        'type'    => 'select',
        'options' => ['active' => 'Active', 'inactive' => 'Inactive'],
    ],

    // Date range filter (from/to)
    'created_at' => [
        'type' => 'date',
    ],

    // Custom filter logic
    'is_verified' => [
        'custom_filter' => function ($query, $operator, $value) {
            $value === 'yes'
                ? $query->whereNotNull('email_verified_at')
                : $query->whereNull('email_verified_at');
        },
    ],
])
```

Works With Eloquent
-------------------

[](#works-with-eloquent)

```
$table = TableBuilder::make(User::query()->select([...]))
    ->columns([...])
    ->apply($request);
```

Publish &amp; Customize Views
-----------------------------

[](#publish--customize-views)

```
php artisan vendor:publish --tag=tabavel-views
```

Then edit `resources/views/vendor/tabavel/bootstrap-5/table.blade.php`.

License
-------

[](#license)

MIT

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance76

Regular maintenance activity

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

133d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d101e13a52fdecac941a6afe568e150f012a1ca40d595b67c78d8b1e48fef8aa?d=identicon)[HassanHelfi](/maintainers/HassanHelfi)

---

Top Contributors

[![HassanHelfi](https://avatars.githubusercontent.com/u/82749703?v=4)](https://github.com/HassanHelfi "HassanHelfi (1 commits)")

---

Tags

laravelpaginationfiltersorttabledatatablelow-code

### Embed Badge

![Health badge](/badges/hassanhelfi-tabavel/health.svg)

```
[![Health](https://phpackages.com/badges/hassanhelfi-tabavel/health.svg)](https://phpackages.com/packages/hassanhelfi-tabavel)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[api-platform/laravel

API Platform support for Laravel

58171.4k14](/packages/api-platform-laravel)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.6k29.9M146](/packages/laravel-cashier)[laravel/scout

Laravel Scout provides a driver based solution to searching your Eloquent models.

1.7k55.0M619](/packages/laravel-scout)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)[yajra/laravel-oci8

Oracle DB driver for Laravel via OCI8

8793.2M25](/packages/yajra-laravel-oci8)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
