jwerd / inertia-table
轻松从Eloquent模型创建Inertia JS表格
v1.0.8
2020-12-30 09:15 UTC
Requires
- illuminate/support: ~5 || ~6 || ~7 || ~8
- inertiajs/inertia-laravel: ^0.2.4
- 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-29 06:14:24 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
- Laravel 6支持由atymic提供
- 所有贡献者
许可
MIT。请参阅许可文件获取更多信息。
