caydeesoft/datatable-generator
Composer 安装命令:
composer require caydeesoft/datatable-generator
包简介
A Laravel package for generating server-side DataTables classes
README 文档
README
A powerful and extensible DataTable scaffolding package for Laravel.
Generate server-side DataTables, Blade views, controllers, requests, policies, API resources, and complete admin stacks using Artisan commands.
Built for scalable Laravel applications.
Features
- Generate server-side DataTables
- Generate Blade DataTable views
- Generate full DataTable stacks
- Searchable columns
- Server-side pagination
- Ordering support
- Stub publishing support
- Extensible architecture
- Laravel package auto-discovery
- Laravel 11 & 12 support
- PHP 8.2+ support
Installation
Install the package via Composer:
composer require caydeesoft/datatable-generator
Package Auto Discovery
The package supports Laravel auto-discovery.
No manual provider registration required.
Publish Stubs
Publish all package stubs:
php artisan vendor:publish --tag=datatable-stubs
Published stubs:
stubs/
├── datatable.stub
└── datatable-view.stub
You can fully customize generated files by editing these stubs.
Commands
Generate DataTable
php artisan make:datatable UserDataTable User
With Search Columns
php artisan make:datatable UserDataTable User \
--search=name \
--search=email \
--search=phone
Generate DataTable View
php artisan make:datatable-view backend/users/index \
--route=backend.user.datatable \
--table=user-table \
--columns=id \
--columns=name \
--columns=email \
--columns=status \
--columns=action
Generate Full DataTable Stack
php artisan make:datatable-stack User \
--columns=id \
--columns=name \
--columns=email \
--columns=status \
--columns=action \
--search=name \
--search=email \
--controller \
--request \
--policy \
--api
Generated Structure
DataTable Generator
app/Http/Datatables/UserDataTable.php
View Generator
resources/views/backend/users/index.blade.php
Stack Generator
app/
├── Http/
│ ├── Controllers/
│ │ └── UserController.php
│ │
│ ├── Datatables/
│ │ └── UserDataTable.php
│ │
│ ├── Requests/
│ │ └── UserRequest.php
│ │
│ └── Resources/
│ └── UserResource.php
│
├── Policies/
│ └── UserPolicy.php
resources/
└── views/
└── backend/
└── users/
└── index.blade.php
Example Generated DataTable
<?php namespace App\Http\Datatables; use App\Models\User; class UserDataTable { public array $columns = [ 'id', 'name', 'email', ]; public function data($request): array { $query = User::query(); if ($search = $request->input('search.value')) { $query->where('name', 'LIKE', "%{$search}%") ->orWhere('email', 'LIKE', "%{$search}%"); } return [ 'data' => $query->get(), ]; } }
Example Generated View
@extends('layouts.backend') @section('content') <table id="user-table" class="table table-bordered"> <thead> <tr> <th>ID</th> <th>Name</th> <th>Email</th> <th>Status</th> <th>Action</th> </tr> </thead> </table> @endsection @section('footer') <script type="application/javascript"> document.addEventListener('DOMContentLoaded', function () { new window.DataTable('#user-table', { processing: true, serverSide: true, ajax: { url: "{{ route('backend.user.datatable') }}", type: "POST", data: { _token: "{{ csrf_token() }}" } }, columns: [ {"data": "id"}, {"data": "name"}, {"data": "email"}, {"data": "status"}, {"data": "action"} ] }); }); </script> @endsection
Available Commands
| Command | Description |
|---|---|
make:datatable |
Generate DataTable class |
make:datatable-view |
Generate Blade DataTable view |
make:datatable-stack |
Generate full DataTable stack |
Command Options
make:datatable
| Option | Description |
|---|---|
--search=* |
Searchable columns |
make:datatable-view
| Option | Description |
|---|---|
--columns=* |
Table columns |
--route= |
AJAX route |
--table= |
HTML table ID |
make:datatable-stack
| Option | Description |
|---|---|
--columns=* |
Table columns |
--search=* |
Searchable columns |
--controller |
Generate controller |
--request |
Generate request |
--policy |
Generate policy |
--api |
Generate API resource |
Supported Versions
Laravel
| Version | Supported |
|---|---|
| 11.x | ✅ |
| 12.x | ✅ |
PHP
| Version | Supported |
|---|---|
| 8.2 | ✅ |
| 8.3 | ✅ |
| 8.4 | ✅ |
Stub Customization
All generated files are powered by stubs.
Publish stubs:
php artisan vendor:publish --tag=datatable-stubs
Modify:
stubs/datatable.stub
stubs/datatable-view.stub
to customize generated output.
Recommended DataTables Library
This package works perfectly with:
- DataTables.net
- Bootstrap DataTables
- Server-side Laravel DataTables
Official site:
Testing
Run tests:
composer test
Code Formatting
Run Laravel Pint:
composer format
Package Structure
datatable-generator/
├── src/
│ ├── Commands/
│ ├── Providers/
│ └── Support/
│
├── stubs/
│ ├── datatable.stub
│ └── datatable-view.stub
│
├── tests/
├── composer.json
├── README.md
└── LICENSE
Future Features
Planned features include:
- Dynamic schema detection
- Relationship searching
- Export support (CSV/XLSX/PDF)
- Filters
- Column permissions
- Bulk actions
- Query pipelines
- Vue integration
- React integration
- Livewire integration
- API DataTables
- Multi-tenant support
- Admin module scaffolding
- Yajra DataTables integration
Roadmap
Future commands:
php artisan make:admin-module php artisan make:datatable-filter php artisan make:datatable-export php artisan make:datatable-column
Contributing
Contributions are welcome.
Steps
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Security
If you discover any security vulnerabilities, please email:
License
This package is open-sourced software licensed under the MIT license.
Author
Dennis Kiptugen
- Company: Caydeesoft
- Email: dennis.kiptoo@caydeesoft.com
Links
GitHub Repository
https://github.com/caydeesoft/datatable-generator
Packagist
https://packagist.org/packages/caydeesoft/datatable-generator
caydeesoft/datatable-generator 适用场景与选型建议
caydeesoft/datatable-generator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 24 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 05 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「generator」 「laravel」 「datatables」 「datatable」 「serverside」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 caydeesoft/datatable-generator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 caydeesoft/datatable-generator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 caydeesoft/datatable-generator 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Memio's PrettyPrinter, used to generate PHP code from given Model
DataTables is a plug-in for the jQuery Javascript library. It is a highly flexible tool, based upon the foundations of progressive enhancement, which will add advanced interaction controls to any HTML table.
Laravel DataTables plugin to support Mongodb
Plug-ins for DataTables
Vanilla Components Integration with Laravel
Views for the package MedicOneSystems Livewire Datatables with Bootstrap 4
统计信息
- 总下载量: 24
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 47
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-11