mrcatz/datatable
Opinionated DataTable + CRUD framework for Laravel Livewire. Build admin pages fast with pagination, sorting, filters, smart search, inline editing, bulk actions, expandable rows, exports, and a programmatic form builder. Includes Artisan scaffolding.
php artisan mrcatz:make generates a full CRUD page in minutes, including:
$wire:model, $wire:ignore). Teams new to Livewire may face a learning curve.dompdf, maatwebsite/excel), adding complexity.whereIn on null).1.29.28, 1.29.29) highlight edge cases in:
whereIn on filtered data.dompdf/maatwebsite/excel dependencies?maatwebsite/excel, meilisearch/meilisearch-php).php artisan mrcatz:make to scaffold a component and compare it to manual Livewire/Blade implementations.resources/views/vendor/mrcatz/) for UI tweaks.mount(), rules()).| Feature | Compatibility | Workarounds |
|---|---|---|
| Laravel Eloquent | ✅ Full support | Use standard Eloquent models/queries. |
| Custom Query Builders | ⚠️ Limited (see below) | Extend MrCatzDataTables or use raw SQL in callbacks. |
| Multi-table joins | ⚠️ Possible but complex | Use createCallback filters or custom query scopes. |
| API-driven data | ❌ Not supported | Fetch data via API in getData() and return as collection. |
| Non-Tailwind CSS | ❌ DaisyUI/Tailwind required | Override all CSS or use a wrapper component. |
| Filament/Inertia.js | ❌ Incompatible | Use Filament for full admin panels or Inertia.js for SPAs. |
composer require mrcatz/datatable livewire/livewire maatwebsite/excel barryvdh/laravel-dompdf
layouts/app.blade.php:
@include('mrcatz::components.ui.notification')
@livewireScripts
@stack('scripts')
app.css):
@source '../../vendor/mrcatz/**/*.blade.php';
php artisan mrcatz:make Product --path=Admin
Route::get('/admin/products', \App\Livewire\Admin\Product\ProductPage::class);
ProductPage for custom logic (e.g., getData(), getColumns()).resources/views/vendor/mrcatz/.How can I help you explore Laravel packages today?