PHPackages                             connecttech/auto-render-models - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. connecttech/auto-render-models

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

connecttech/auto-render-models
==============================

Automatically generate model templates for developers using Laravel framework.

1.2.3(5mo ago)076↑50%MITPHPPHP ^8.2CI passing

Since Dec 10Pushed 5mo agoCompare

[ Source](https://github.com/DuyConnectTech/auto-render-models)[ Packagist](https://packagist.org/packages/connecttech/auto-render-models)[ Docs](https://connecttech.vn/)[ RSS](/packages/connecttech-auto-render-models/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (12)Versions (8)Used By (0)

Auto Render Models 🚀
====================

[](#auto-render-models-)

> **Code chay làm gì cho mệt? Để tool nó gánh còng lưng!**

Chào anh em, đây là gói **Auto Render Models** - trợ thủ đắc lực cho các đồng đạo Laravel. Nó giúp anh em tự động hóa việc tạo Eloquent Model từ database schema. Thay vì ngồi gõ từng dòng `fillable`, `casts`, hay khai báo relationship mỏi tay, thì chạy lệnh một phát là xong. Xịn sò chưa? 😎

Tại sao nên dùng? 🤔
-------------------

[](#tại-sao-nên-dùng-)

- **Tiết kiệm thời gian:** Quên chuyện copy-paste model cũ đi.
- **Chuẩn chỉ:** Tự động detect các cột, kiểu dữ liệu, khóa ngoại (foreign keys) để tạo relationship (`belongsTo`, `hasMany`...) chuẩn không cần chỉnh.
- **Dễ tùy biến:** Muốn model nằm ở đâu, namespace gì, base class nào... chỉnh trong config là được hết.
- **Hỗ trợ tận răng:** Soft deletes, timestamps, casting JSON, Bit Booleans (cho mấy ông dùng MySQL bit)... cân tất.

Yêu cầu 🛠️
----------

[](#yêu-cầu-️)

- PHP &gt;= 8.2
- Laravel 10.x, 11.x, 12.x
- Đam mê sự lười biếng (thông minh) 🤣

Cài đặt imstall 📦
-----------------

[](#cài-đặt-imstall-)

Chạy lệnh này trong terminal của dự án Laravel nhé:

```
composer require connecttech/auto-render-models --dev
```

*(Nên để `--dev` vì thường mình chỉ render model lúc dev thôi, lên production thì code có sẵn rồi)*

Cấu hình ⚙️
-----------

[](#cấu-hình-️)

Sau khi cài xong, anh em cần publish file config ra để tùy chỉnh theo ý thích:

```
php artisan vendor:publish --provider="Connecttech\AutoRenderModels\Providers\AutoRenderModelsServiceProvider"
```

File config sẽ nằm ở `config/models.php`. Vào đó anh em có thể chỉnh:

- `path`: Đường dẫn lưu model (mặc định `app/Models`).
- `namespace`: Namespace của model.
- `base_files`: Nếu bật `true`, nó sẽ tạo class Base để anh em thoải mái override mà không sợ mất code khi chạy lại lệnh.
- `except`: Loại bỏ các bảng không muốn tạo model (như `migrations`, `failed_jobs`...).

Sử dụng Run 🏃‍♂️
----------------

[](#sử-dụng-run-‍️)

Dễ như ăn kẹo. Mở terminal lên và quất:

### 1. Render toàn bộ database (Mặc định)

[](#1-render-toàn-bộ-database-mặc-định)

```
php artisan auto-render:models
```

Lệnh này sẽ quét connection mặc định và tạo model cho tất cả các bảng.

### 2. Chỉ định connection hoặc schema cụ thể

[](#2-chỉ-định-connection-hoặc-schema-cụ-thể)

```
php artisan auto-render:models --connection=mysql_custom
# Hoặc
php artisan auto-render:models --schema=shop_db
```

### 3. Render một bảng cụ thể

[](#3-render-một-bảng-cụ-thể)

Chỉ muốn tạo lại model cho bảng `users` thôi thì làm thế này:

```
php artisan auto-render:models --table=users
```

### 4. Tạo TypeScript Interfaces (New) ⚛️

[](#4-tạo-typescript-interfaces-new-️)

Dành cho anh em Fullstack (Next.js/React/Vue). Lệnh này sẽ quét database và tạo file `.d.ts` hoặc `.ts` chứa interface chuẩn type.

```
php artisan auto-render:types
```

Config output nằm ở `config/models.php` mục `typescript`. Rất hữu ích khi làm việc với TypeScript ở Frontend để đảm bảo Type Safety.

### 5. Sinh PHP Enums từ Database (New) 🎯

[](#5-sinh-php-enums-từ-database-new-)

Laravel 11+ khuyến khích dùng PHP Enums. Tính năng này sẽ giúp ông tự động sinh các class Enum từ các cột có kiểu `ENUM` trong database của MySQL, sau đó tự động thêm cast vào model.

```
# Sẽ tự động chạy khi bạn dùng lệnh auto-render:models hoặc auto-render:types
# Hoặc bạn có thể chạy riêng (tuy nhiên chưa có lệnh riêng)
# (Logic này đã được tích hợp vào auto-render:models và auto-render:types)
```

Config output nằm ở `config/models.php` mục `enums`.

Tính năng nổi bật 🔥
-------------------

[](#tính-năng-nổi-bật-)

- ✅ **Auto-Detect Relationships:** Tự nhận diện khóa ngoại để build hàm quan hệ.
- ✅ **Modern Laravel Style:** Hỗ trợ Laravel 11+ với method `casts(): array` (chỉnh trong config `casts_style`) và **tự động sinh PHP Enums**.
- ✅ **TypeScript Generator:** Đồng bộ Type giữa Backend và Frontend trong 1 nốt nhạc **chuẩn Type Safety**.
- ✅ **Smart Casting:** Tự động cast các cột `*_json` sang array/json.
- ✅ **Clean Code:** Code sinh ra sạch đẹp, chuẩn PSR.
- ✅ **Interactive Mode:** Giao diện dòng lệnh tương tác thông minh, không cần nhớ tham số.

Đóng góp (Contribution) 🤝
-------------------------

[](#đóng-góp-contribution-)

Anh em thấy lỗi hay muốn thêm tính năng gì thì cứ tự nhiên:

1. Fork repo này về.
2. Tạo branch mới (`git checkout -b feature/tinh-nang-xin`).
3. Code và Commit (`git commit -m 'Thêm tính năng xịn'`).
4. Push lên (`git push origin feature/tinh-nang-xin`).
5. Tạo Pull Request.

Đừng ngại, mình rất welcome mọi đóng góp!

License ®️
----------

[](#license-️)

Dự án này được phát hành dưới giấy phép [MIT](LICENCE.md). Dùng thoải mái đi nhé!

---

Made with ❤️ by [ConnectTech](https://connecttech.vn/) &amp; [devcontainerDuy](mailto:khanhduytran1803@gmail.com).

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance73

Regular maintenance activity

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

7

Last Release

153d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/01a344cdb3b81ba580525db65d0e9cca67541e7a7b7ad8901cc0dab0ffbea705?d=identicon)[DuyConnectTech](/maintainers/DuyConnectTech)

---

Top Contributors

[![devcontainerDuy](https://avatars.githubusercontent.com/u/125916124?v=4)](https://github.com/devcontainerDuy "devcontainerDuy (27 commits)")[![DuyConnectTech](https://avatars.githubusercontent.com/u/217520229?v=4)](https://github.com/DuyConnectTech "DuyConnectTech (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/connecttech-auto-render-models/health.svg)

```
[![Health](https://phpackages.com/badges/connecttech-auto-render-models/health.svg)](https://phpackages.com/packages/connecttech-auto-render-models)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[tucker-eric/eloquentfilter

An Eloquent way to filter Eloquent Models

1.8k4.8M26](/packages/tucker-eric-eloquentfilter)[laravel-zero/framework

The Laravel Zero Framework.

3371.4M369](/packages/laravel-zero-framework)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
