定制 farhanisrakyen/laravel-model-bender 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 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

统计信息

  • 总下载量: 34
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-15