Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create Models from database in Laravel

Is there some way to generate models from database in Laravel?

The generators package only create an empty model.

like image 492
Santi Barbat Avatar asked May 31 '15 17:05

Santi Barbat


2 Answers

Warning, you may end up overwriting your JetStream or any other scaffolding models. take backup of them before overwriting them.

If you are using MySQL and Laravel 5.1 or above you can use php artisan code:models from this package: reliese/laravel. All you need to do is:

  1. composer require reliese/laravel
  2. Add the service provider to your config/app.php file Reliese\Coders\CodersServiceProvider::class
  3. Publish the config file with php artisan vendor:publish --tag=reliese-models
  4. Make sure your database is correctly configured in config/database.php and .env files.
  5. And finally issue the command: php artisan code:models

This package will scan your database and create all models for you. If you need something more specific, you can customize its config file.

Hope this helps :)

like image 183
Cristian Llanos Avatar answered Oct 28 '22 07:10

Cristian Llanos


There is a library Eloquent Model Generator which aim is creating Eloquent models classes using database tables as a source. It generates not only class stub, but relation methods, docblocks for magic fields, additional properties etc.

It provides a console command php artisan krlove:generate:model ClassName for generating one class per one call, but you can create your own command to call this command for each table from your database.

like image 38
Andrii Mishchenko Avatar answered Oct 28 '22 09:10

Andrii Mishchenko