Laravel Eloquent создание модели

Можно ли программно создавать модели Laravel Eloquent на основе существующих таблиц? Кажется, что для создания каждого в отдельности требуется значительный объем работы.

1 ответ

Решение

Разве это не сложно при программировании с нуля. Но, в любом случае, если вы хотите создать Artisan Command и получить все имена таблиц, чтобы затем выполнить make:model $modelName в каждом.

так:

1. Создайте свою команду

php artisan make:command GenerateModels

2. Отредактируйте свою команду

App\Console\ Команды \ GenerateModels.php

<?php

namespace App\Console\Commands;
use Illuminate\Support\Str;

// ...
use Illuminate\Support\Facades\Artisan;

    // some code

    protected $signature = 'generate:models';


    // some more code

    public function handle()
    {
        $tables = \DB::select('SHOW TABLES');
        $tables = array_map('current',$tables);

        collect($tables)->each(function ($model) {
            Artisan::call('make:model ' . Str::singular($model));
        });
    }
}

3. Запустите его

php artisan generate:models
Другие вопросы по тегам