谐波 / 惯性表格
轻松从Eloquent模型创建Inertia JS表格
v1.0.7
2020-02-24 01:08 UTC
Requires
- illuminate/support: ~5 || ~6
- inertiajs/inertia-laravel: ^0.2.0
- reinink/remember-query-strings: ^0.1.0
- symfony/process: ^4.3
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0 || ~4.0
- phpunit/phpunit: ~7.0
- sempro/phpunit-pretty-print: ^1.0
This package is auto-updated.
Last update: 2024-09-24 10:52:44 UTC
README
使用InertiaJS(和Tailwind CSS)和Laravel模型轻松创建表格。表格可进行筛选和排序。可以使用单个Artisan命令来构建整个模型!
安装
此包需要您在项目中安装InertiaJS。**强烈建议您也安装相应的Vue组件inertia-table-vue,以便允许在Vue中端到端构建Inertia表格**
通过Composer
$ composer require harmonic/inertia-table
在您的App\HttpKernel类中注册remember路由中间件
protected $routeMiddleware = [ // .. 'remember' => \Reinink\RememberQueryStrings::class, ];
使用方法
通过CLI
创建Inertia Table最快最简单的方法是使用单个Artisan命令。只需提供一个模型名称作为参数,它将自动为您创建模型、控制器和Vue组件。
$ php artisan make:inertiaTable User
其中User是您要创建的模型的名称。下面是手动过程,说明了创建了什么。
手动
- 修改您的模型,使其扩展InertiaModel而不是model
use harmonic\InertiaTable\InertiaModel; class user extends InertiaModel { protected $perPage = 10; // Controlls number of items per page ...
- 创建一个控制器
UsersController.php
namespace App\Http\Controllers; use harmonic\InertiaTable\Facades\InertiaTable; use Illuminate\Validation\Rule; use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\Redirect; use Illuminate\Support\Facades\Auth; use App\User; class UsersController extends Controller { public function index() { $user = new User(); return InertiaTable::index($user, ['id', 'name', 'email', 'deleted_at']); } }
index方法接收一个模型和一个数组作为参数,该数组包含您希望显示的列名。数组是可选的,InertiaTable默认显示所有列。
您还可以指定哪些列可以搜索,通过添加一个额外的参数,即包含可以过滤的列名的数组。如果留空,则所有列都是可搜索的。
- 在web.php中添加您的路由。您可以通过手动或使用此包中包含的定制inertia路由来完成此操作
Route::inertiaTable('users');
这将生成所有CRUD路由
- 您需要创建前端。建议您为Vue项目使用inertia-table-vue。在该存储库底部提供了一个JS示例。
变更日志
请参阅变更日志,了解最近发生了什么变化。
测试
$ composer test
贡献
请参阅contributing.md以获取详细信息和工作清单。
安全
如果您发现任何与安全相关的问题,请通过电子邮件craig@harmonic.com.au联系,而不是使用问题跟踪器。
鸣谢
- Craig Harman
- 由atymic提供Laravel 6支持
- 所有贡献者
许可证
MIT。有关更多信息,请参阅许可证文件。
