xt/laravel-inertia-element-ui-crud

为 element ui + inertia js + Vue3 生成 CRUD 文件

1.0.5 2022-12-15 19:48 UTC

This package is auto-updated.

Last update: 2024-09-15 23:53:07 UTC


README

Latest Version on Packagist Total Downloads

为 Element-UI (Vue 3) 和 Inertia Js 生成 CRUD。

此包将根据数据库表结构生成执行 CRUD 操作的文件。它将在列表、创建和更新表单页面上生成所有字段。

Vue 插件

功能

  • 生成列表、创建和更新视图页面
  • 生成执行插入、更新和删除操作的控制器
  • 为模型文件中定义的所有可填充字段生成表单
  • 服务器端验证(必填和最大长度)

安装

您可以通过 composer 安装此包

composer require xt/laravel-inertia-element-ui-crud

安装 npm 包

npm install laravel-inertia-element-ui-crud-vue3 --save

添加代码

将以下函数添加到 app/Http/Controllers/Controller.php

function filterOrderParameters(){
    $sort_order = \request('order', 'd');
    if ($sort_order == ''){
        $sort_order = 'd';
    }
    if ($sort_order == 'a'){
        $sort_order = 'asc';
    } else {
        $sort_order = 'desc';
    }
    return $sort_order;
}

用法

将以下代码添加到 app/Providers/AppServiceProvider.php 的 boot 方法中

Inertia::share('flash', function () {
    return [
        'message' => Session::get('message'),
    ];
});

Inertia::share([
    'success' => function () {
        return Session::get('success')
            ? Session::get('success')
            : '';
    },
]);

Inertia::share([
    'error' => function () {
        return Session::get('error')
            ? Session::get('error')
            : '';
    },
]);

Inertia::share([
    'errors' => function () {
        return Session::get('errors')
            ? Session::get('errors')->getBag('default')->getMessages()
            : (object) [];
    },
]);

生成 CRUD 的命令

php artisan crud:generator <ControllerName> <ModelName>

在生成 CRUD 之前准备模型

确保控制器名称不包括控制器,例如 User,这将生成 UserController

示例

#This will generator view file for Jetstream

php artisan crud:generator User User

#This will generator view file for breeze

php artisan crud:generator User User --template=breeze

变更日志

请参阅 CHANGELOG 了解最近的变化。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件 hiren.reshamwala@gmail.com 联系我们,而不是使用问题跟踪器。

致谢

许可协议

MIT 许可协议 (MIT)。请参阅 许可文件 了解更多信息。