pepijnolivier/eloquent-model-generator

v3.0.0 2023-06-01 22:27 UTC

This package is auto-updated.

Last update: 2024-11-06 02:28:31 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This Laravel package will generate models with their appropriate Eloquent relations based on an existing database schema.

For automatically generating database migrations for your schema, see kitloong/laravel-migrations-generator

Requirements

  • PHP 8.1+
  • Laravel 8+

Installation

You can install the package via composer:

composer require --dev pepijnolivier/eloquent-model-generator

You can publish the config file with:

php artisan vendor:publish --tag="eloquent-model-generator-config"

This is the contents of the published config file:

<?php

use Illuminate\Database\Eloquent\Model;

return [
    /*
    |--------------------------------------------------------------------------
    | Namespace
    |--------------------------------------------------------------------------
    |
    | The default namespace for generated models.
    |
    */
    'model_namespace' => 'App\Models\Generated',
    'trait_namespace' => 'App\Models\Generated\Relations',

    /*
    |--------------------------------------------------------------------------
    | Output Path
    |--------------------------------------------------------------------------
    |
    | Path where the models will be created.
    |
    */
    'model_path' => 'app/Models/Generated',
    'trait_path' => 'app/Models/Generated/Relations',

    /*
    |--------------------------------------------------------------------------
    | Extend Model
    |--------------------------------------------------------------------------
    |
    | Extend the base model.
    |
    */
    'extend' => Model::class,
];

Usage

php artisan generate:models

Testing

composer test

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please see SECURITY for details.

Credits

License

The MIT License (MIT). Please see License File for more information.