medrachy/crud-livewire

为模型生成 CRUD livewire 组件

dev-master 2022-09-23 15:05 UTC

This package is auto-updated.

Last update: 2024-09-23 20:09:23 UTC


README

使用一条命令和表名作为参数,通过填充属性或数据库列来生成模型对应的 livewire 类和视图,此包将生成包含所有 CRUD 功能的文件(类/视图)

MIT License

特性

  • 将模型实例用作公共变量
  • 使用 Jetstream 组件
  • 使用模态框创建、更新和删除
  • 直接从 livewire 类管理输入和类型
  • 分页

要求

  • Laravel 8+
  • Jetstream 与 livewire 栈

安装

您可以通过 Composer 安装此包

 composer require medrachy/crud-livewire

用法

安装后,运行此命令

 php artisan crud:build {tableName}   //example : users

此命令将执行以下操作

  • 根据表名生成正确的(类名、模型名和视图名)
  • 如果不存在,则创建 livewire 目录 "/app/Http/Livewire"
  • 生成 livewire 类 "/app/Http/Livewire/{className}.php"
  • 如果不存在,则创建 livewire 目录 "/resources/views/livewire"
  • 生成 livewire 视图 "/resources/views/livewire/{viewName}.blade.php"

然后打开生成的 livewire 类 "/app/Http/Livewire/{className}.php",添加适当的 $rules 和 $inputTypes 属性

// Add the input type for each attribute
public array $inputTypes = [
        // 'attribute' => 'inputType',
        // example :
        'name' => 'text',
        'email' => 'email',
];

// Add rules
protected $rules = [
    //  'modalName.attribute' => 'required',
    // example :
    'user.name' => 'required',
    'user.email' => 'required|email',
];

就这样,现在您可以这样渲染您的 livewire 组件

<div>@livewire('{viewName}') // example @livewire('user-crud)</div>

Jetstream

此包使用 Jetstream 模态组件,如果您在应用程序中未使用 Jetstream,则需要编辑此包生成的视图。

许可证

MIT 许可证(MIT)。有关更多信息,请参阅许可证文件