PHPackages                             crushjs/mini-datatables - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. crushjs/mini-datatables

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

crushjs/mini-datatables
=======================

Mini Laravel DataTables

v1.0.0(1mo ago)00MITPHPPHP ^8.2

Since May 6Pushed 1mo agoCompare

[ Source](https://github.com/crushjs/mini-datatables)[ Packagist](https://packagist.org/packages/crushjs/mini-datatables)[ RSS](/packages/crushjs-mini-datatables/feed)WikiDiscussions main Synced 1w ago

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

Mini DataTables
===============

[](#mini-datatables)

A lightweight Laravel DataTables package inspired by Yajra DataTables.

---

Features
--------

[](#features)

- Simple JSON response
- Query Builder support
- Search support
- Pagination
- Sorting
- Custom columns
- Raw columns
- Laravel auto-discovery

---

Installation
============

[](#installation)

Install package via Composer:

```
composer require crushjs/mini-datatables
```

---

Publish Assets
--------------

[](#publish-assets)

```
php artisan vendor:publish --tag=minidatatables-assets
```

---

Laravel Auto Discovery
======================

[](#laravel-auto-discovery)

The package supports Laravel auto-discovery.

No manual provider registration required.

---

Usage
=====

[](#usage)

Basic Example
-------------

[](#basic-example)

```
use App\Models\User;
use Crushjs\MiniDataTables\MiniDataTables;

Route::get('/users', function () {
    return MiniDataTables::of(
        User::query()
    )->make();
});
```

---

Response Example
================

[](#response-example)

```
{
  "data": [
    {
      "id": 1,
      "name": "John"
    },
    {
      "id": 2,
      "name": "Jane"
    }
  ]
}
```

---

Search
======

[](#search)

URL
---

[](#url)

```
/users?search=john
```

Example
-------

[](#example)

```
return MiniDataTables::of(
    User::query()
)
->search('name', 'test')
->make();
```

---

Pagination
==========

[](#pagination)

Example
-------

[](#example-1)

```
return MiniDataTables::of(
    User::query()
)
->paginate(10)
->make();
```

---

Sorting
=======

[](#sorting)

URL
---

[](#url-1)

```
/users?sort=id
```

Example
-------

[](#example-2)

```
return MiniDataTables::of(
    User::query()
)
->sort()
->make();
```

---

Add Custom Column
=================

[](#add-custom-column)

```
return MiniDataTables::of(
    User::query()
)
->addColumn('action', function ($user) {
    return 'Edit';
})
->make();
```

---

Edit Column
===========

[](#edit-column)

```
return MiniDataTables::of(
    User::query()
)
->editColumn('name', function ($user) {
    return strtoupper($user->name);
})
->make();
```

---

Raw Column
==========

[](#raw-column)

```
return MiniDataTables::of(
    User::query()
)
->rawColumns(['action'])
->make();
```

---

Full Example
============

[](#full-example)

```
use App\Models\User;
use Crushjs\MiniDataTables\MiniDataTables;

Route::get('/users', function () {

    return MiniDataTables::of(
        User::query()
    )
    ->search('name')
    ->sort()
    ->paginate(10)
    ->addColumn('action', function ($user) {
        return 'Edit';
    })
    ->rawColumns(['action'])
    ->make();

});
```

---

Package Structure
=================

[](#package-structure)

```
mini-datatables/
 ├── composer.json
 ├── README.md
 └── src/
      ├── MiniDataTables.php
      ├── MiniDataTablesServiceProvider.php
      └── Facades/
           └── MiniTable.php
```

---

Local Development
=================

[](#local-development)

Clone repository:

```
git clone https://github.com/crushjs/mini-datatables.git
```

Install dependencies:

```
composer install
```

---

Testing Inside Laravel
======================

[](#testing-inside-laravel)

Add local repository to Laravel project:

```
"repositories": [
    {
        "type": "path",
        "url": "./packages/crushjs/mini-datatables"
    }
]
```

Then install:

```
composer require crushjs/mini-datatables:@dev
```

---

Requirements
============

[](#requirements)

- PHP 8.1+
- Laravel 10+
- Laravel 11+
- Laravel 12+

---

Roadmap
=======

[](#roadmap)

- Global search
- Multi-column sorting
- Export CSV
- Export Excel
- API Resources
- Vue support
- React support

---

License
=======

[](#license)

MIT License

---

Author
======

[](#author)

Crushjs

GitHub:

Screenshots
===========

[](#screenshots)

Table UI
--------

[](#table-ui)

[![Table UI](https://raw.githubusercontent.com/crushjs/mini-datatables/main/screenshots/table.png)](https://raw.githubusercontent.com/crushjs/mini-datatables/main/screenshots/table.png)

---

Controller Example
------------------

[](#controller-example)

[![Controller](https://raw.githubusercontent.com/crushjs/mini-datatables/main/screenshots/controller.png)](https://raw.githubusercontent.com/crushjs/mini-datatables/main/screenshots/controller.png)

---

Blade Usage
-----------

[](#blade-usage)

[![Blade](https://raw.githubusercontent.com/crushjs/mini-datatables/main/screenshots/blade.png)](https://raw.githubusercontent.com/crushjs/mini-datatables/main/screenshots/blade.png)

---

Route Example
-------------

[](#route-example)

[![Route](https://raw.githubusercontent.com/crushjs/mini-datatables/main/screenshots/route.png)](https://raw.githubusercontent.com/crushjs/mini-datatables/main/screenshots/route.png)

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance93

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

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

34d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/133304729?v=4)[Crushjs](/maintainers/crushjs)[@crushjs](https://github.com/crushjs)

---

Top Contributors

[![crush-vi](https://avatars.githubusercontent.com/u/257921729?v=4)](https://github.com/crush-vi "crush-vi (9 commits)")

### Embed Badge

![Health badge](/badges/crushjs-mini-datatables/health.svg)

```
[![Health](https://phpackages.com/badges/crushjs-mini-datatables/health.svg)](https://phpackages.com/packages/crushjs-mini-datatables)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[renatomarinho/laravel-page-speed

Laravel Page Speed

2.5k1.7M11](/packages/renatomarinho-laravel-page-speed)[illuminate/pipeline

The Illuminate Pipeline package.

9348.3M264](/packages/illuminate-pipeline)[illuminate/pagination

The Illuminate Pagination package.

10533.5M984](/packages/illuminate-pagination)[illuminate/redis

The Illuminate Redis package.

8314.4M356](/packages/illuminate-redis)[spatie/laravel-export

Create a static site bundle from a Laravel app

670139.5k6](/packages/spatie-laravel-export)

PHPackages © 2026

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