Reliese Laravel Model Generator配置指南:定制你的完美模型生成规则
【免费下载链接】laravel Reliese Laravel Model Generator 项目地址: https://gitcode.com/gh_mirrors/larav/laravel
Reliese Laravel Model Generator是一款强大的工具,能够帮助开发者快速生成符合Laravel规范的Eloquent模型。通过灵活的配置选项,你可以轻松定制模型生成规则,实现从数据库表结构到模型代码的自动化转换,大幅提升开发效率。
快速开始:安装与基础配置
要开始使用Reliese Laravel Model Generator,首先需要通过Composer安装依赖。在你的Laravel项目根目录下执行以下命令:
composer require reliese/laravel --dev
安装完成后,项目根目录下会生成一个核心配置文件config/models.php,这是定制模型生成规则的主要场所。通过编辑这个文件,你可以控制模型的生成路径、命名空间、父类、特性等关键属性。
核心配置详解:打造个性化模型生成规则
模型存储路径与命名空间
在config/models.php文件中,你可以通过path和namespace选项设置生成模型的存储路径和命名空间:
'path' => app_path('Models'),
'namespace' => 'App\Models',
默认情况下,模型会生成到app/Models目录下,并属于App\Models命名空间。如果你需要将模型存储到不同位置或使用不同命名空间,只需修改这两个选项即可。
自定义模型父类
Reliese允许你指定一个自定义的模型父类,替代默认的Illuminate\Database\Eloquent\Model:
'parent' => Illuminate\Database\Eloquent\Model::class,
这一特性非常有用,例如当你需要为所有模型添加通用功能时,可以创建一个基础模型类并让所有生成的模型继承它。
特性(Traits)集成
通过use选项,你可以为生成的模型自动添加指定的特性:
'use' => [
// Reliese\Database\Eloquent\BitBooleans::class,
// Reliese\Database\Eloquent\BlamableBehavior::class,
],
默认配置中提供了两个实用特性的示例:BitBooleans用于将MySQL的bit类型字段转换为布尔值,BlamableBehavior则提供了自动记录创建者和更新者的功能。你可以根据项目需求取消注释或添加其他特性。
时间戳与软删除设置
Reliese提供了灵活的时间戳和软删除配置:
'timestamps' => true,
'soft_deletes' => true,
默认情况下,这两个选项都被设置为true,表示生成的模型将包含时间戳字段(created_at和updated_at)和软删除功能(deleted_at字段)。如果你需要自定义时间戳字段名称,可以将timestamps设置为一个数组:
'timestamps' => [
'enabled' => true,
'fields' => [
'CREATED_AT' => 'created_at',
'UPDATED_AT' => 'updated_at',
]
]
同样,你也可以自定义软删除字段的名称:
'soft_deletes' => [
'enabled' => true,
'field' => 'deleted_at',
]
隐藏属性与批量赋值保护
为了增强应用安全性,Reliese允许你配置默认的隐藏属性和批量赋值保护规则:
'hidden' => [
'*secret*', '*password', '*token',
],
'guarded' => [
// 'created_by', 'updated_by'
],
hidden数组定义了在模型转换为数组或JSON时需要隐藏的属性,支持通配符匹配。guarded数组则定义了不允许批量赋值的属性,与Laravel的$guarded属性功能相同。
数据类型转换
通过casts选项,你可以指定字段的数据类型转换规则:
'casts' => [
'*_json' => 'json',
],
默认配置中,所有以_json结尾的字段都会被自动转换为JSON类型。你可以根据需要添加更多转换规则,例如:
'casts' => [
'*_json' => 'json',
'is_active' => 'boolean',
'price' => 'decimal:2',
],
表过滤与命名
Reliese提供了灵活的表过滤和命名功能,让你可以精确控制哪些表生成模型以及模型的命名方式:
'except' => [
'migrations',
'failed_jobs',
'password_resets',
'personal_access_tokens',
'password_reset_tokens',
],
'only' => [
// 'users',
],
'table_prefix' => '',
'model_names' => [
// 'billing_invoices' => 'Invoice',
],
except数组列出了不需要生成模型的表名,only数组则用于指定只生成哪些表的模型(默认情况下为空,表示生成所有表的模型)。table_prefix选项可以去除表名中的前缀,model_names则允许你为特定表指定自定义的模型名称。
关系命名策略
Reliese支持两种关系命名策略:
'relation_name_strategy' => 'related',
// 'relation_name_strategy' => 'foreign_key',
related策略(默认):使用关联表名作为关系名称foreign_key策略:使用外键名作为关系名称
例如,对于post.author_id -> user.id这样的关联:
related策略会生成Post::user()和User::posts()方法foreign_key策略会生成Post::author()和User::posts_where_author()方法
你可以根据项目需求选择合适的命名策略。
高级配置:连接与数据库特定设置
除了全局配置外,Reliese还支持针对特定数据库和连接的配置:
// 'shop' => [
// 'path' => app_path(),
// 'namespace' => 'App',
// 'snake_attributes' => false,
// 'qualified_tables' => true,
// 'use' => [
// Reliese\Database\Eloquent\BitBooleans::class,
// ],
// 'except' => ['migrations'],
// 'only' => ['users'],
// // 表特定配置:
// 'user' => [
// // 不使用任何默认特性
// 'use' => [],
// ]
// ],
通过这种方式,你可以为不同的数据库或表设置不同的生成规则,满足复杂项目的需求。
生成模型:使用Artisan命令
配置完成后,你可以使用以下Artisan命令生成模型:
php artisan code:models
如果你只想为特定表生成模型,可以使用--table选项:
php artisan code:models --table=users,posts
生成的模型文件将保存在你在config/models.php中指定的path目录下。
总结
Reliese Laravel Model Generator提供了丰富的配置选项,让你能够轻松定制符合项目需求的模型生成规则。通过合理配置config/models.php文件,你可以大幅减少手动编写模型的工作量,提高开发效率,同时确保模型代码的一致性和规范性。
无论是简单的博客项目还是复杂的企业级应用,Reliese Laravel Model Generator都能成为你Laravel开发工具箱中的得力助手。开始探索它的强大功能,体验自动化模型生成带来的便利吧!
【免费下载链接】laravel Reliese Laravel Model Generator 项目地址: https://gitcode.com/gh_mirrors/larav/laravel
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



