13-1
建立Seeder快速填充資料
- Seeder 就是測試資料,可以利用Artisan的方式來快速產生測試資料
- seeder 檔一般以「複數+TableSeeder」方式命名,當然,這不是強制性的。
- 建立方法:
php artisan make:seeder TopicsTableSeeder
- 最後會產生
\專案\database\seeds\TopicsTableSeeder.php
,我們加入第15行的部份,也就是把剛剛在tinker的指令拿到這裡來。
<?php
use Illuminate\Database\Seeder;
class TopicsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// 每次建立 20 個題目
factory(\App\Topic::class, 20)->create(['exam_id' => 3]);
}
}
- 執行之,每執行一次就會產生20個新題目:
php artisan db:seed --class=TopicsTableSeeder
- 如果seed檔要改名,則記得改完後重新手動執行以下語法,以產生新的autoload檔案
composer dump-autoload
-
autoload檔案在:\專案\vendor\composer\autoload_classmap.php
-
詳情可參考:https://laravel-china.org/docs/laravel/5.6/seeding/1401