pierresilva/laravel-generator

Laravel 5 CRUD 生成器

5.3 2017-01-17 14:32 UTC

This package is auto-updated.

Last update: 2024-09-18 23:36:08 UTC


README

要求

Laravel >=5.1
PHP >= 5.5.9

安装

  1. 运行

    composer require pierresilva/laravel-generator
    
  2. 将服务提供者添加到 config/app.php

    'providers' => [
        ...
    
        pierresilva\LaravelGenerator\LaravelGeneratorServiceProvider::class,
    ],
  3. 安装 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,
    ],
  4. 运行 composer dump-autoload

  5. 发布此包的供应商文件。

    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
  • 二进制
  • 整数
  • 大整数
  • 中等整数
  • 小整数
  • 短整数
  • 布尔值
  • 十进制数
  • 双精度浮点数
  • 浮点数
  • 枚举

自定义生成器占位符模板

您可以根据需要自定义生成器的占位符文件/模板。

  1. 确保已发布包的资产。

    php artisan vendor:publish --provider="pierresilva\LaravelGenerator\LaravelGeneratorServiceProvider"
    
  2. config/laravelgenerator.php 上开启 custom_template 支持

    'custom_template' => true,
    
  3. resources/laravel-generator/ 目录中,您可以修改或自定义占位符文件。

作者

Pierre Silva