farhanisrakyen/laravel-model-bender
最新稳定版本:v1.0.4
Composer 安装命令:
composer require farhanisrakyen/laravel-model-bender
包简介
Interactive Laravel model generator with fields, enums, casts, relationships, and migrations
README 文档
README
An interactive Artisan command to generate and update Laravel models with fields, casts, relationships, indexes, and migrations — safely and incrementally.
This package is designed for real projects, not just scaffolding demos.
✨ Features
- ✅ Interactive CLI wizard
- ✅ Create models + migrations
- ✅ Update existing models safely
- ✅ Manage
$fillable,$hidden,$appends,$casts - ✅ Relationship generation (incl. morphs)
- ✅ Pivot table generation
- ✅ Index creation with validation
- ✅ Safe alter migrations (no breaking schema)
- ✅ Warnings for duplicates & missing models
Installation
1. Install via Composer
Once the package is published to Packagist, you can install it in your Laravel project:
composer require farhanisrakyen/laravel-model-bender
2. Optional: Publish vendor assets (if applicable)
php artisan vendor:publish --tag=laravel-model-bender
3. Ensure app/Models exists
The package supports nested directories, so make sure your app/Models folder exists.
Usage
Generate a Model Interactively
Run the artisan command with the model name (supports nested paths):
php artisan make:model-interactive User
or, for nested paths
php artisan make:model-interactive Admin/User
- This will generate:
- app/Models/Admin/User.php
- Migration(s) under database/migrations
🧭 Interactive Flow 1️⃣ Define Fields Once you run the make:model-interactive command, you’ll be prompted for: - Field name - Field type (string, integer, boolean, enum, etc.) - Nullable - Unique - $fillable, $hidden, $appends - $casts
-
You will be prompted to define fields:
- Name, type, nullable, unique
- Add to
$fillable,$hidden,$appends - Cast type
- Enum values if field type is
enum
-
Then define relationships:
- Method name
- Related model (full class or relative)
- Relationship type (
hasOne,hasMany,belongsTo,belongsToMany,morphOne,morphMany,morphTo,morphToMany) - Optionally generate pivot migrations for many-to-many relationships
-
After previewing the summary, confirm to generate:
- Eloquent model file
- Migration file(s)
- Pivot migrations (if any)
Example
php artisan make:model-interactive Blog/Post
- Creates
app/Models/Blog/Post.php - Generates
database/migrations/xxxx_xx_xx_xxxxxx_create_posts_table.php - Prompts interactively for fields, enums, casts, and relationships
Notes
- Supports nested directories.
- Pivot migrations are automatically created for
belongsToManyormorphToManyrelationships. $fillable,$casts,$hidden,$appends, and$guardedare automatically managed.- Factories are not generated.
Contributing
If you find issues or want to add features, feel free to fork the repository and submit a pull request.
License
MIT
统计信息
- 总下载量: 34
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-15