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

v1.0.2 2025-12-30 21:49 UTC

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 belongsToMany or morphToMany relationships.
  • $fillable, $casts, $hidden, $appends, and $guarded are 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