jwerd/inertia-table

轻松从Eloquent模型创建Inertia JS表格

v1.0.8 2020-12-30 09:15 UTC

README

Latest Version on Packagist Total Downloads Build Status StyleCI

使用InertiaJS(和Tailwind CSS)和Laravel模型轻松创建表格。表格可以过滤和排序。只需一个Artisan命令即可构建整个模型!

Laravel Preset - Click for video

安装

此软件包要求在您的项目中安装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是要创建的模型的名称。请参阅下面的手动过程,了解创建的内容。

手动

  1. 修改您的模型,使其扩展InertiaModel而不是model
use harmonic\InertiaTable\InertiaModel;

class user extends InertiaModel {
    protected $perPage = 10; // Controlls number of items per page
...
  1. 创建一个控制器

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默认显示所有列。

您还可以指定哪些列可以搜索,通过添加一个第三个参数,即一个列名数组,表示可以过滤的列。如果为空,则所有列都可以搜索。

  1. 在web.php中添加您的路由。您可以手动进行这些操作或使用此软件包中包含的定制inertia路由
Route::inertiaTable('users');

这将生成所有CRUD路由

  1. 您需要创建前端。建议您为Vue项目使用inertia-table-vue。该存储库底部提供了一个JS示例。

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

$ composer test

贡献

有关详细信息,请参阅contributing.md以及待办事项列表。

安全

如果您发现任何安全相关的问题,请通过craig@harmonic.com.au发送电子邮件,而不是使用问题跟踪器。

鸣谢

许可

MIT。请参阅许可文件获取更多信息。