建立 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