redbastie/crudify

Laravel 8 CRUD 包,用于快速构建和开发。

1.0.4 2020-09-24 09:20 UTC

This package is auto-updated.

Last update: 2024-09-29 05:42:55 UTC


README

此包不再维护。请考虑以下最新的包: https://github.com/redbastie/tailwire

Crudify

Crudify 是一个 Laravel 8 CRUD 包,它促进了快速构建和开发。它使用经过验证的堆栈和直观的技术,这将为您节省时间和麻烦。

要求

  • 兼容 Laravel 8 的服务器
  • Composer
  • NPM

功能

  • 自动用户时区
  • AJAX 表单、模态框和响应处理器
  • 响应式数据表
  • Font Awesome 图标
  • 开箱即用的明智的 Bootstrap 样式
  • CRUD 生成命令(make:crud
  • 自动迁移命令(migrate:auto
  • 模型中的迁移、工厂和规则定义
  • 基于控制器方法的自动路由
  • 动态模型填充
  • & 更多

使用的第三方包

链接

安装

Crudify 被设计成与干净的 Laravel 8 安装一起工作。

安装 Laravel

laravel new vehicle-app

在您的 .env 文件中配置数据库

DB_DATABASE=vehicle_app
DB_USERNAME=root
DB_PASSWORD=

现在,通过 composer 安装 Crudify

composer require redbastie/crudify

然后,运行 Crudify 安装命令

php artisan crudify:install

完成了。剩下要做的就是创建一个用户,可以通过 tinkerDatabaseSeeder 完成。

用法示例

为新的模型生成 CRUD,例如 Vehicle

php artisan make:crud Vehicle

这将生成您的控制器、数据表、模型、工厂、视图、导航项和自动路由。

修改新 Vehicle 模型类中的 migration 方法

public function migration(Blueprint $table)
{
    $table->id();
    $table->timestamps();
    $table->string('name');
    $table->string('brand');
}

您还可以在模型中指定工厂定义和规则

public static function definition(Generator $faker)
{
    return [
        'name' => $faker->name,
        'brand' => $faker->company,
    ];
}

public static function rules(Vehicle $vehicle = null)
{
    return [
        'name' => ['required', Rule::unique('vehicles')->ignore($vehicle->id ?? null)],
        'brand' => ['required'],
    ];
}

DatabaseSeeder 类中指定 Vehicle 种子

\App\Models\User::factory()->create([
    'email' => 'admin@example.com',
]);

\App\Models\Vehicle::factory(100)->create();

注意,我还在这里添加了一个 User 种子,我们将在之后使用密码 password 登录。

VehicleDataTable 类中添加一些数据表列

protected function getColumns()
{
    return [
        Column::make('id'),
        Column::make('name'),
        Column::make('brand'),
        Column::make('created_at'),
        Column::computed('action')->title(''),
    ];
}

vehicles/form.blade.php 视图文件中添加表单字段

<x-form-input label="{{ __('Name') }}" name="name"/>
<x-form-input label="{{ __('Brand') }}" name="brand"/>

运行带有种子的新鲜自动迁移命令

php artisan migrate:auto --fresh --seed

您可以在 migrate:auto 命令中指定 --fresh 和/或 --seed 以运行新鲜迁移并在之后进行种子。

现在您应该能够登录到您的应用,并点击导航栏中的 Vehicles 链接来对种子数据进行 CRUD 操作。

要了解自动路由的工作原理,请查看 VehicleController。在更新控制器方法后,使用 php artisan route:list 查看您的路由信息。