PHPackages                             mikailfaruqali/datatable - 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. [Database &amp; ORM](/categories/database)
4. /
5. mikailfaruqali/datatable

ActiveLibrary[Database &amp; ORM](/categories/database)

mikailfaruqali/datatable
========================

A powerful Laravel package for building server-side DataTables with custom column builders, easy frontend integration, and comprehensive export functionality.

3.3.3(3mo ago)1167MITPHPPHP &gt;=7.4

Since Jun 13Pushed 3mo agoCompare

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

READMEChangelog (10)Dependencies (10)Versions (54)Used By (0)

Laravel DataTable Package
=========================

[](#laravel-datatable-package)

[![Latest Version on Packagist](https://camo.githubusercontent.com/20ee1239488bd10857756072766c21c11d7c39eeeb5d481a49890aedeb74b81d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d696b61696c6661727571616c692f646174617461626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mikailfaruqali/datatable)[![Total Downloads](https://camo.githubusercontent.com/d7363e382910215ab3beaed763720599105d573c3bdaad1e0e98b7599eba544a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d696b61696c6661727571616c692f646174617461626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mikailfaruqali/datatable)[![License](https://camo.githubusercontent.com/e5cdc316fbcbefad9c9ce6ee1ffcff087dd1dfc6ad4d8d7bc59068c6d704e113/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d696b61696c6661727571616c692f646174617461626c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mikailfaruqali/datatable)

A powerful Laravel package for building server-side DataTables with custom column builders, easy frontend integration, and comprehensive export functionality.

Features
--------

[](#features)

- 🚀 **Server-side Processing**: Efficient handling of large datasets
- 🎨 **Custom Column Builders**: Flexible column customization and formatting
- 📊 **Export Functionality**: Built-in Excel export with formatting
- 🖨️ **Print Support**: Professional print layouts
- 🔍 **Advanced Filtering**: Column-specific filtering and search
- 📱 **Responsive Design**: Mobile-friendly tables
- 🌐 **Multi-language Support**: Localization ready (English, Arabic, Kurdish)
- 🎛️ **Column Visibility**: User-controlled column hiding/showing
- 📈 **Aggregation Support**: Built-in totals and calculations
- ⚡ **Performance Optimized**: Efficient query building and caching

Requirements
------------

[](#requirements)

- PHP &gt;= 7.4
- Laravel &gt;= 5.0
- Maatwebsite/Excel package

Installation
------------

[](#installation)

Install the package via Composer:

```
composer require mikailfaruqali/datatable
```

### Publish Assets

[](#publish-assets)

Publish the package configuration, views, and language files:

```
php artisan vendor:publish --tag=snawbar-datatable-assets
```

### Run Migrations

[](#run-migrations)

The package includes migrations for column visibility preferences:

```
php artisan migrate
```

Configuration
-------------

[](#configuration)

After publishing assets, configure your DataTable settings in `config/snawbar-datatable.php`:

```
return [
    // Session key for text direction (LTR/RTL)
    'local-direction-session-key' => 'direction',

    // Default table CSS classes
    'table-style' => 'table table-bordered w-100',

    // Font URL (optional)
    'font' => null,

    // CSS assets for DataTables
    'datatable-css' => [
        'https://cdn.datatables.net/1.13.4/css/dataTables.bootstrap5.min.css',
        'https://cdn.datatables.net/buttons/2.3.6/css/buttons.bootstrap5.min.css',
    ],

    // JavaScript assets for DataTables
    'datatable-js' => [
        'https://code.jquery.com/jquery-3.6.0.min.js',
        'https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js',
        'https://cdn.datatables.net/1.13.4/js/dataTables.bootstrap5.min.js',
        'https://cdn.datatables.net/buttons/2.3.6/js/dataTables.buttons.min.js',
    ],

    // Print-specific CSS
    'datatable-print-css' => [
        // Add print-specific stylesheets
    ],
];
```

Quick Start
-----------

[](#quick-start)

### 1. Generate a DataTable Class

[](#1-generate-a-datatable-class)

Use the Artisan command to generate a new DataTable class:

```
php artisan make:datatable UserDataTable
```

This creates a new class in `app/DataTables/UserDataTable.php`.

### 2. Configure Your DataTable

[](#2-configure-your-datatable)

```
