pursehouse / modeler-laravel-eloquent
Generate model classes for Eloquent in Laravel
Installs: 2 214
Dependents: 0
Suggesters: 0
Security: 0
Stars: 12
Watchers: 0
Forks: 323
Open Issues: 1
Requires
- php: >=5.6.4
- doctrine/dbal: >=2.5
- illuminate/console: >=5.1
- illuminate/contracts: >=5.1
- illuminate/database: >=5.1
- illuminate/filesystem: >=5.1
- illuminate/support: >=5.1
Requires (Dev)
- fzaninotto/faker: >=1.4
- mockery/mockery: 0.9.*
- phpunit/phpunit: >=5.0
README
Generate model classes for Eloquent in Laravel
How does it work?
This package expects that you are using Laravel 5.1 or above.
You will need to import the pursehouse/modeler-laravel-eloquent
package via composer:
composer config repositories.pursehouse/modeler-laravel-eloquent vcs https://github.com/pursehouse/modeler-laravel-eloquent composer require pursehouse/modeler-laravel-eloquent:dev-master
Configuration
Add the service provider to your config/app.php
file within the providers
key:
// ... 'providers' => [ /* * Package Service Providers... */ Pursehouse\Modeler\Coders\CodersServiceProvider::class, ], // ...
Configuration for local environment only
If you wish to enable generators only for your local environment, you should install it via composer using the --dev option like this:
composer config repositories.pursehouse/modeler-laravel-eloquent vcs https://github.com/pursehouse/modeler-laravel-eloquent composer require pursehouse/modeler-laravel-eloquent:dev-master --dev
Then you'll need to register the provider in app/Providers/AppServiceProvider.php
file.
public function register() { if ($this->app->environment() == 'local') { $this->app->register(\Pursehouse\Modeler\Coders\CodersServiceProvider::class); } }
Models
Add the models.php
configuration file to your config
directory and clear the config cache:
php artisan vendor:publish --tag=pursehouse-modeler php artisan config:clear
Usage
Assuming you have already configured your database, you are now all set to go.
- Let's scaffold some of your models from your default connection.
php artisan pursehouse:modeler
- You can scaffold a specific table like this:
php artisan pursehouse:modeler --table=users
- You can also specify the connection:
php artisan pursehouse:modeler --connection=mysql
- If you are using a MySQL database, you can specify which schema you want to scaffold:
php artisan pursehouse:modeler --schema=shop
Customizing Model Scaffolding
To change the scaffolding behaviour you can make config/models.php
configuration file
fit your database needs. Check it out ;-)
Tips
1. Keeping model changes
You may want to generate your models as often as you change your database. In order
not to lose you own model changes, you should set base_files
to true
in your config/models.php
.
When you enable this feature your models will inherit their base configurations from base models. You should avoid adding code to your base models, since you will lose all changes when they are generated again.
Note: You will end up with two models for the same table and you may think it is a horrible idea to have two classes for the same thing. However, it is up to you to decide whether this approach gives value to your project :-)
Origins
Originally forked from Reliese/larvel
project