Laravel Eloquent 模型创建

Laravel Eloquent model creation

能否根据现有表格以编程方式创建Laravel Eloquent 模型?单独创建每一个似乎是一项大量工作。

从头开始编程并不难。但是,无论如何,如果您愿意,可以创建一个 Artisan Command 并获取所有 table 名称,然后在每个名称中执行 make:model $modelName

所以:

1。创建你的命令

php artisan make:command GenerateModels

2。编辑您的命令

App\Console\Commands\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