pierresilva / laravel-generator
Laravel 5 CRUD 生成器
5.3
2017-01-17 14:32 UTC
Requires
- php: >=5.5.9
- illuminate/support: ^5.1
Requires (Dev)
- mockery/mockery: ^0.9.6
- orchestra/testbench: ^3.3
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2024-09-18 23:36:08 UTC
README
要求
Laravel >=5.1
PHP >= 5.5.9
安装
-
运行
composer require pierresilva/laravel-generator
-
将服务提供者添加到 config/app.php。
'providers' => [ ... pierresilva\LaravelGenerator\LaravelGeneratorServiceProvider::class, ],
-
安装 laravelcollective/html 辅助包。
- 运行
composer require laravelcollective/html
- 将服务提供者和别名添加到 config/app.php。
'providers' => [ ... Collective\Html\HtmlServiceProvider::class, ], 'aliases' => [ ... 'Form' => Collective\Html\FormFacade::class, 'HTML' => Collective\Html\HtmlFacade::class, ],
-
运行
composer dump-autoload
-
发布此包的供应商文件。
php artisan vendor:publish --provider="pierresilva\LaravelGenerator\LaravelGeneratorServiceProvider"
注意:您应该已为此操作配置了数据库。
命令
CRUD 命令
php artisan generate:crud Posts --fields="title#string; content#text; category#select#options=technology,tips,health" --view-path=admin --controller-namespace=Admin --route-group=admin
从 JSON 文件中获取 CRUD 字段
{ "fields": [ { "name": "title", "type": "string" }, { "name": "content", "type": "text" }, { "name": "category", "type": "select", "options": ["technology", "tips", "health"] } ] }
php artisan generate:crud Posts --fields_from_file="/path/to/fields.json" --view-path=admin --controller-namespace=Admin --route-group=admin
选项
其他命令(可选)
对于控制器
php artisan generate:controller PostsController --crud-name=posts --model-name=Post --view-path="directory" --route-group=admin
对于模型
php artisan generate:model Post --fillable="['title', 'body']"
对于迁移
php artisan generate:migration posts --schema="title#string; body#text"
对于视图
php artisan generate:view posts --fields="title#string; body#text" --view-path="directory" --route-group=admin
默认情况下,生成器会尝试将 CRUD 路由添加到您的 Route
文件中。如果您不希望添加路由,可以使用此选项 --route=no
。
创建所有资源后,运行迁移命令。 如有必要,请包括您的 CRUD 路由。
php artisan migrate
如果您选择不自动添加 CRUD 路由(见上文),您需要手动包含路由。
Route::resource('posts', 'PostsController');
支持的字段类型
这些字段支持迁移和视图的表单
表单字段类型
- 文本
- 多行文本
- 密码
- 电子邮件
- 数字
- 日期
- 日期时间
- 时间
- 单选按钮
- 选择框
- 文件
迁移字段类型
- 字符串
- 字符
- 可变长度字符串
- 日期
- 日期时间
- 时间
- 时间戳
- 文本
- 中等文本
- 长文本
- JSON
- JSONB
- 二进制
- 整数
- 大整数
- 中等整数
- 小整数
- 短整数
- 布尔值
- 十进制数
- 双精度浮点数
- 浮点数
- 枚举
自定义生成器占位符模板
您可以根据需要自定义生成器的占位符文件/模板。
-
确保已发布包的资产。
php artisan vendor:publish --provider="pierresilva\LaravelGenerator\LaravelGeneratorServiceProvider"
-
在 config/laravelgenerator.php 上开启 custom_template 支持
'custom_template' => true,
-
从 resources/laravel-generator/ 目录中,您可以修改或自定义占位符文件。