mrcorex/laravel-model-generator

自动为Laravel 5项目生成模型。

1.3.3 2018-01-23 20:23 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:14:42 UTC


README

自动为Laravel 5项目生成模型。

注意:建议放弃此包并使用corex/lmodel。它更新更及时,并使用doctrine/dbal代替原生sql,还有其他优点。配置有一些变化,但将配置转换为corex/lmodel很容易。

您可以继续使用此包。我将尽力支持未来的版本。

仅支持MySQL。

连接到现有数据库并根据现有模式自动生成模型。

  • 支持多个数据库。
  • 支持魔术属性。
  • 支持自定义方法。
  • 支持受保护字段。
  • 支持"extends"。
  • 支持魔术属性之后的额外列属性。
  • 支持在模型中构建常量。
  • 支持多个"uses"。
  • 支持自定义"indent"。

安装

运行"composer require mrcorex/laravel-model-generator"

添加一个名为corex的配置文件,并将以下代码添加到其中。根据需要修改它。

return [
    'laravel-model-generator' => [
        'path' => base_path('app/Models'),
        'namespace' => 'App\Models',
        'databaseSubDirectory' => true,
        'extends' => '',
        'indent' => "\t",
        'uses' => [],
        'const' => [
            '{connection}' => [
                '{table}' => [
                    'id' => '{id}',
                    'name' => '{name}',
                    'prefix' => '{prefix}',
                    'suffix' => '{suffix}',
                    'replace' => [
                        'XXXX' => 'YYYY',
                    ]
                ]
            ]
        ]
    ]
];

设置

  • path - 模型保存的位置。
  • namespace - 模型的命名空间。
  • databaseSubDirectory - 如果数据库连接名称应用于命名空间/目录,则为true/false。名称将自动转换为PascalCase。
  • extends - (可选)要扩展的类而不是"Illuminate\Database\Eloquent\Model"。默认''。
  • indent - (可选)用作缩进的字符串,例如"\t"。默认4个空格。
  • uses - (可选)use列表。警告:它不会清理旧的使用,如果在模型创建后更改"extends"。
  • const - (可选)此部分用于指定应包含表内容的常量的连接和表。
  • {connection} - (可选)连接名称。
  • {table} - (可选)表名称。
  • {id} - (必需)用于常量值中获取id的字段名称。
  • {name} - (必需)用于获取常量名称的字段名称。
  • {prefix} - (可选)添加到每个常量名称的前缀。
  • {suffix} - (可选)添加到每个常量名称的后缀。
  • replace - (可选)要在常量名称中替换的值。

要注册它并确保您只为开发设置了此选项,请将以下代码添加到AppServiceProviders@register。

public function register()
{
    if ($this->app->environment() == 'local') {
        $this->app->register('CoRex\Generator\ModelGeneratorProvider');
    }
}

帮助

php artisan help make:models

参数

  • connection: 从中生成模型的连接名称。它将添加到命名空间/路径中以分离模型。可以禁用此功能。
  • tables: 要生成的表名称的逗号分隔列表。指定"."以生成所有表。

选项

  • guarded: 受保护字段的逗号分隔列表。