shopex / luban-crud-generator
Laravel 5 CRUD 生成器
v2.1.5
2017-11-01 10:50 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
README
要求
Laravel >=5.1
PHP >= 5.5.9
安装
打开您的终端(CLI),转到您的 Laravel 项目的根目录,然后按照以下步骤操作。
-
运行
composer require appzcoder/crud-generator --dev
-
由于该包仅用于本地开发,请将提供者在 app/Providers/AppServiceProvider.php 中添加。
public function register() { if ($this->app->environment() == 'local') { $this->app->register('Appzcoder\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="Appzcoder\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="Appzcoder\CrudGenerator\CrudGeneratorServiceProvider"
-
在 config/crudgenerator.php 中打开自定义_template 支持
'custom_template' => true,
-
从目录 resources/crud-generator/ 您可以修改或自定义占位符文件。
-
在 config/crudgenerator.php 中您可以添加新的占位符并选择传递哪些值