redbastie / crudify
Laravel 8 CRUD 包,用于快速构建和开发。
Requires
- doctrine/dbal: ^2.10
- jamesmills/laravel-timezone: ^1.9
- laravel/framework: ^8.0
- laravel/ui: ^3.0
- protonemedia/laravel-form-components: ^2.1
- yajra/laravel-datatables: ^1.5
README
此包不再维护。请考虑以下最新的包: https://github.com/redbastie/tailwire
Crudify
Crudify 是一个 Laravel 8 CRUD 包,它促进了快速构建和开发。它使用经过验证的堆栈和直观的技术,这将为您节省时间和麻烦。
要求
- 兼容 Laravel 8 的服务器
- Composer
- NPM
功能
- 自动用户时区
- AJAX 表单、模态框和响应处理器
- 响应式数据表
- Font Awesome 图标
- 开箱即用的明智的 Bootstrap 样式
- CRUD 生成命令(
make:crud
) - 自动迁移命令(
migrate:auto
) - 模型中的迁移、工厂和规则定义
- 基于控制器方法的自动路由
- 动态模型填充
- & 更多
使用的第三方包
- doctrine/dbal
- jamesmills/laravel-timezone
- laravel/ui
- protonemedia/laravel-form-components
- yajra/laravel-datatables
链接
- 支持: GitHub 问题
- 贡献: GitHub Pulls
- 捐赠: PayPal
安装
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
完成了。剩下要做的就是创建一个用户,可以通过 tinker
或 DatabaseSeeder
完成。
用法示例
为新的模型生成 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
查看您的路由信息。