数据填充

最后更新于:2022-04-01 15:13:07

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 ~~~
';