codeg8 / crud-generator
Laravel 5 CRUD 生成器
dev-master
2017-05-23 10:16 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 not auto-updated.
Last update: 2024-09-20 18:34:11 UTC
README
需求
Laravel >=5.1
PHP >= 5.5.9
安装
打开终端(CLI),进入 Laravel 项目的根目录,然后按照以下步骤进行。
-
运行
composer require codeg8/crud-generator --dev -
由于该包仅在本地开发中使用,请在 app/Providers/AppServiceProvider.php 中添加提供者。
public function register() { if ($this->app->environment() == 'local') { $this->app->register('Codeg8\CrudGenerator\CrudGeneratorServiceProvider'); } }
-
如果您尚未安装,请安装 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="Codeg8\CrudGenerator\CrudGeneratorServiceProvider"
注意:您应该已为此操作配置了数据库。
命令
CRUD 命令
php artisan crud:generate 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"]
},
{
"name": "user_id",
"type": "integer#unsigned"
}
],
"foreign_keys": [
{
"column": "user_id",
"references": "id",
"on": "users",
"onDelete": "cascade"
}
],
"relationships": [
{
"name": "user",
"type": "belongsTo",
"class": "App\\User"
}
],
"validations": [
{
"field": "title",
"rules": "required|max:10"
}
]
}
php artisan crud:generate Posts --fields_from_file="/path/to/fields.json" --view-path=admin --controller-namespace=Admin --route-group=admin
选项
其他命令(可选)
对于控制器
php artisan crud:controller PostsController --crud-name=posts --model-name=Post --view-path="directory" --route-group=admin
控制器的选项
对于模型
php artisan crud:model Post --fillable="['title', 'body']"
对于迁移
php artisan crud:migration posts --schema="title#string; body#text"
对于视图
php artisan crud: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="Codeg8\CrudGenerator\CrudGeneratorServiceProvider" -
在 config/crudgenerator.php 中开启自定义模板支持。
'custom_template' => true, -
从目录 resources/crud-generator/ 中,您可以修改或自定义占位符文件。
-
在 config/crudgenerator.php 中,您可以添加新的占位符并选择传递哪些值。