我们在这里利用 orangehill/iseed
安装命令:
composer require orangehill/iseed

安装完成之后测试下:
运行:php artisan iseed users 我这里利用了users表做测试
结果显示:
Command "iseed" is not defined.
办理方法,注册引入 Orangehill\Iseed 包。
我的在 bootstrap/app.php 文件中添加
$app->register(Orangehill\Iseed\IseedServiceProvider::class);
然后再运行
运行:php artisan iseed users
显示:
Call to undefined method Laravel\Lumen\Application::booting()
找到这个方法:
在vendor/orangehill/iseed/src/Orangehill/Iseed/IseedServiceProvider.php的register()方法中。改动如下:public function register(){ $this->registerResources(); $this->app->singleton('iseed', function($app) { return new Iseed; }); // var_dump(method_exists ($this->app,'boot'));die; $this->app->boot(function() { // todo 将booting改成boot即可 $loader = \Illuminate\Foundation\AliasLoader::getInstance(); $loader->alias('Iseed', 'Orangehill\Iseed\Facades\Iseed'); }); $this->app->singleton('command.iseed', function($app) { return new IseedCommand; }); $this->commands('command.iseed');}
再运行命令
运行:php artisan iseed users
结果显示:
In IseedCommand.php line 163:
Class 'Config' not found
和
In IseedCommand.php line 96:
Class 'File' not found
办理办法:
将类精确引入即可。我这里引入的两个类分别是。
use Illuminate\Support\Facades\Config;use Illuminate\Support\Facades\File;
末了再运行
php artisan iseed users
成功显示:
php artisan iseed users File UsersTableSeeder.php already exist. Do you wish to override it? [yes|no] (yes/no) [no]: > yesCreated a seed file from table users
结束