farhanisrakyen / laravel-model-bender
Interactive Laravel model generator with fields, enums, casts, relationships, and migrations
Installs: 13
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/farhanisrakyen/laravel-model-bender
Requires
- php: >=8.1
This package is auto-updated.
Last update: 2025-12-30 21:49:44 UTC
README
A Laravel package to interactively generate Eloquent models with fields, enums, casts, attributes, relationships, and migrations.
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 Users/Product
-
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