Генерация модели по схеме таблицы БД в Laravel 5.2
Как сгенерировать модель Laravel 5 по существующей таблице БД.
Установка пакета:
composer require krlove/eloquent-model-generator --dev
Регистрация сервис-провайдера в секции providers
файла config/app.php
:
Krlove\EloquentModelGenerator\Provider\GeneratorServiceProvider::class,
Запуск команды генерации модели:
php artisan krlove:generate:model Category --table-name=category --output-path=/var/www/my_project/app/Models --namespace=App\\Models
Пример сгенерированной модели:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
/**
* @property int $id
* @property int $parent_id
* @property mixed $name
* @property mixed $path
* @property Category $category
* @property Note[] $notes
*/
class Category extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'category';
/**
* @var array
*/
protected $fillable = ['parent_id', 'name', 'path'];
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function category()
{
return $this->belongsTo('Category', 'parent_id');
}
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function notes()
{
return $this->hasMany('Note');
}
}
Другой пример генерации модели с наследованием собственного базового класса:
php artisan krlove:generate:model Note --table-name=note --output-path=/home/stas/www/my/pad/reader_laravel5/app/Models --namespace=App\\Models --base-class-name=App\\Models\\BaseModel
Походу дела нашел еще генератор но не проверял: https://github.com/jimbolino/laravel-model-builder/
#reverse engineer, #laravel model builder