PHPackages                             bubooon/simple-tables - 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. bubooon/simple-tables

ActiveLibrary

bubooon/simple-tables
=====================

Simple TableView for Laravel

1.0.0(6y ago)041MITPHPPHP ^7.1.3CI failing

Since Sep 16Pushed 6y ago1 watchersCompare

[ Source](https://github.com/bubooon/simple-tables)[ Packagist](https://packagist.org/packages/bubooon/simple-tables)[ Docs](https://github.com/bubooon/simple-tables)[ RSS](/packages/bubooon-simple-tables/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Laravel Simple Tables
=====================

[](#laravel-simple-tables)

This is simple way to show data in tables for users.

**Screenshot:**

[![screenshot](https://camo.githubusercontent.com/2ff4778215fea6e2158722a04b73d7d2aac3f445b3bcc266c644bd09874231c4/68747470733a2f2f736e61672e67792f7851653241352e6a7067)](https://camo.githubusercontent.com/2ff4778215fea6e2158722a04b73d7d2aac3f445b3bcc266c644bd09874231c4/68747470733a2f2f736e61672e67792f7851653241352e6a7067)

### Features

[](#features)

- Show tables with data using Illuminate\\Database\\Eloquent\\Builder
- Set custom value for column using Closure
- Pagination
- Change page size
- Sort by column
- Filter by column (text input, dropdown)
- Create your own filters
- Full search input (search value from text input in list of columns)

### Installing

[](#installing)

Add composer package

```
composer require bubooon/simple-tables

```

Register provider in config/app.php

```
Bubooon\SimpleTables\SimpleTableServiceProvider::class

```

Copy assets

```
php artisan vendor:publish --tag=simple-tables

```

Add js to app.js

```
...
require('./simpletables');
...

```

Add css to app.sass

```
...
@import 'simple-tables';

```

Compile

```
npm run dev

```

Add code in layout or page for register JQuery plugin for table.

```
{!! $simpletable ?? '' !!}
```

Markup of Simple Tables based on Twitter Bootstrap 4, but you need include these styles by yourself, if you need it.

### Usage

[](#usage)

Hello world

```
$provider = new BuilderDataProvider((new User)->newQuery());
$grid = new SimpleTable($provider,['id','email','created_at','updated_at']);
echo $grid->render();
```

Setting pagination, default sort and fields for which sorting is available

```
$provider = new BuilderDataProvider($query, [
    'pagination' => [
        'pageSize' => 25
    ],
    'fieldsList' => ['id', 'email', 'status', 'age', 'created_at'],
    'sort' => [
        'id' => 'DESC'
    ]
]);
```

Add filters for columns

```
$provider->filter('email', 'email', 'like'); // serach substring
$provider->filter('was_found', 'was_found'); // strict search
$provider->filter('transaction_id', 'transaction_id', 'is_null'); //0 - IS NULL, 1 - IS NOT NULL, null - nothing
```

Setting fields for full search

```
$fields = ['email', 'description', 'first_name', 'last_name'];
$provider->fullSearch($fields);
```

Add your custom filtering

```
if ($last_update = request('date_created')) {
    switch ($last_update) {
        case 1:
            $provider->whereRaw('str_to_date(result.response ->> "$**.LastUpdatedDate", \'["%d/%m/%Y %T"]\') > now() - INTERVAL 1 WEEK');
            break;
        case 2:
            $provider->whereRaw('str_to_date(result.response ->> "$**.LastUpdatedDate", \'["%d/%m/%Y %T"]\') > now() - INTERVAL 1 MONTH');
            break;
    }
}
```

Setting fields in table

```
$table = new SimpleTable($provider, [
    'id', //just show value with defautl sorts by this column
    [
        'attribute' => 'email',
        'sort' => false, //remove ability to sort by this column
        'filter' => true, //add input[type=text] filter for this column
        'label' => 'User email', //set custom header of column,
        'style' => 'width:250px' //css style for column
    ],
    [
        'attribute' => 'status',
        'filter' => [ //add dropdown filter
            '' => '',
            1 => 'Available',
            0 => 'Not available'
        ],
        'value' => function($row){
            return $row->status ? 'available' : 'not available';
        }
    ]
], [
    'fullSearch' => true, //add full search field
    'pageSizes' => [10, 25, 50, 100], //set available sizes of page,
    'showFooter' => false //hide table footer
]);
```

### Features planned

[](#features-planned)

- ArrayDataProvider
- Online demo with examples
- Support of multiple tables on one page
- More customization

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity53

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

2428d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/86a6dd7690125b40e4d03d545d80d4cc72f2a961281910ca9f1c340e57be095b?d=identicon)[buboon](/maintainers/buboon)

---

Top Contributors

[![bubooon](https://avatars.githubusercontent.com/u/3369428?v=4)](https://github.com/bubooon "bubooon (18 commits)")

---

Tags

laravelgridtabledatatabletableview

### Embed Badge

![Health badge](/badges/bubooon-simple-tables/health.svg)

```
[![Health](https://phpackages.com/badges/bubooon-simple-tables/health.svg)](https://phpackages.com/packages/bubooon-simple-tables)
```

###  Alternatives

[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

116.6k](/packages/tomshaw-electricgrid)[itstructure/laravel-grid-view

Grid view for laravel framework

2546.6k2](/packages/itstructure-laravel-grid-view)

PHPackages © 2026

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