创建 Seeder
要创建 Seeder,你可以使用 make:seeder
Artisan 命令。生成的所有 Seeder 都将放在 database/seeds
目录中。
$ php artisan make:seeder MoviesTableSeeder
生成的 Seeder 将包含一种方法:run
。你可以使用此方法将数据插入数据库。
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class MoviesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
App\Movie::create([
'name' => 'A New Hope',
'year' => '1977'
]);
App\Movie::create([
'name' => 'The Empire Strikes Back',
'year' => '1980'
]);
}
}
你通常希望在 DatabaseSeeder
类中呼叫所有 Seeder。
完成编写播种器后,请使用 db:seed
命令。这将运行 DatabaseSeeder
的 run
功能。
$ php artisan db:seed
你还可以指定运行特定的播种器类,以使用 --class
选项单独运行。
$ php artisan db:seed --class=UserSeeder
如果要回滚并重新运行所有迁移,然后重新设置:
$ php artisan migrate:refresh --seed
migrate:refresh --seed
命令是这三个命令的快捷方式:$ php artisan migrate:reset # rollback all migrations $ php artisan migrate # run migrations $ php artisan db:seed # run seeders