🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
Laravel 可以简单的使用 `seed` 类,填充测试数据到数据库。所有的 `seed` 类放在 `database/seeds` 目录下。可以使用任何你想要的类名称,但是应该遵守某些大小写规范,如 `UserTableSeeder` 之类。默认已经有一个 `DatabaseSeeder` 类。在这个类里,使用 `call` 方法执行其他的 `seed` 类,让你控制填充的顺序。 ### Seed 类例子 ~~~ ~~~ class DatabaseSeeder extends Seeder { public function run() { $this->call('UserTableSeeder'); $this->command->info('User table seeded!'); } } class UserTableSeeder extends Seeder { public function run() { DB::table('users')->delete(); User::create(['email' => 'foo@bar.com']); } } ~~~ ~~~ 要执行数据填充,可以使用 Artisan CLI 的 db:seed 命令: ~~~ ~~~ php artisan db:seed ~~~ ~~~ 默认 `db:seed` 命令会执行 `DatabaseSeeder`,可以使用它来调用其他 `seed` 类,不过,也可以使用 `--class` 参数指定要单独执行的类: ~~~ ~~~ php artisan db:seed --class=UserTableSeeder ~~~ ~~~ 你也可以使用 `migrate:refresh` 命令填充数据,它会回滚并且再次执行所有迁移: ~~~ ~~~ php artisan migrate:refresh --seed ~~~ ~~~