谐波/惯性表格

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

v1.0.7 2020-02-24 01:08 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。有关更多信息,请参阅许可证文件