PHPackages                             dreadfulcode/eloquent-model-generator - 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. dreadfulcode/eloquent-model-generator

ActiveLibrary

dreadfulcode/eloquent-model-generator
=====================================

Eloquent Model Generator

v2.0.4-stable(2y ago)5299[1 PRs](https://github.com/DreadfulCode/laravel-10-eloquent-model-generator/pulls)MITPHPPHP ^8.1

Since Nov 5Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/DreadfulCode/laravel-10-eloquent-model-generator)[ Packagist](https://packagist.org/packages/dreadfulcode/eloquent-model-generator)[ RSS](/packages/dreadfulcode-eloquent-model-generator/feed)WikiDiscussions 2x Synced 1mo ago

READMEChangelogDependencies (10)Versions (3)Used By (0)

Eloquent Model Generator for Laravel 10
=======================================

[](#eloquent-model-generator-for-laravel-10)

Updated with the latest composer dependencies for Laravel 10, tested on SQlite and Postgres

Coming Soon: Better Postgres Support &amp; CI/CD support for contributors.

Eloquent Model Generator generates Eloquent models using database schema as a source.

Version 2.0.4
-------------

[](#version-204)

Improvements: Forked and changed namespace, updated Composer, added phpstan, added php-cs-fixer, updated to latest phpunit version,

Installation
------------

[](#installation)

Step 1. Add Eloquent Model Generator to your project:

```
composer require dreadfulcode/eloquent-model-generator dev-2x --dev

```

Step 2. Confirm that the `Dreadfulcode\EloquentModelGenerator\Provider` is in `GeneratorServiceProvider`:

```
'providers' => [
    // ...
    Dreadfulcode\EloquentModelGenerator\Provider\GeneratorServiceProvider::class,
];
```

Step 3. Configure your database connection.

This project was test driven with SQLite3. For Sqlite3 on Ubuntu 22.x, PHP 8.1: `sudo apt-get install php8.1-sqlite3`

Usage
-----

[](#usage)

Use

```
php artisan dreadfulcode:generate:model User

```

to generate a model class. Generator will look for table named `users` and generate a model for it.

### table-name

[](#table-name)

Use `table-name` option to specify another table name:

```
php artisan dreadfulcode:generate:model User --table-name=user

```

In this case generated model will contain `protected $table = 'user'` property.

### output-path

[](#output-path)

Generated file will be saved into `app/Models` directory of your application and have `App\Models` namespace by default. If you want to change the destination and namespace, supply the `output-path` and `namespace` options respectively:

```
php artisan dreadfulcode:generate:model User --output-path=/full/path/to/output/directory --namespace=Your\\Custom\\Models\\Place

```

`output-path` can be absolute path or relative to project's `app` directory. Absolute path must start with `/`:

- `/var/www/html/app/Models` - absolute path
- `Custom/Models` - relative path, will be transformed to `/var/www/html/app/Custom/Models` (assuming your project app directory is `/var/www/html/app`)

### base-class-name

[](#base-class-name)

By default, generated class will be extended from `Illuminate\Database\Eloquent\Model`. To change the base class specify `base-class-name` option:

```
php artisan dreadfulcode:generate:model User --base-class-name=Custom\\Base\\Model

```

### no-backup

[](#no-backup)

If `User.php` file already exist, it will be renamed into `User.php~` first and saved at the same directory. Unless `no-backup` option is specified:

```
php artisan dreadfulcode:generate:model User --no-backup

```

### Other options

[](#other-options)

There are several useful options for defining several model's properties:

- `no-timestamps` - adds `public $timestamps = false;` property to the model
- `date-format` - specifies `dateFormat` property of the model
- `connection` - specifies connection name property of the model

### Overriding default options

[](#overriding-default-options)

Instead of specifying options each time when executing the command you can create a config file named `eloquent_model_generator.php` at project's `config` directory with your own default values:

```
