mrcorex / laravel-model-generator
自动为Laravel 5项目生成模型。
1.3.3
2018-01-23 20:23 UTC
Requires
- php: >=5.5.9
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: 受保护字段的逗号分隔列表。