- 繼續水的一天
使用
模型工廠Factory
來填充資料- 生成對應資料表的模型檔案
php artisan make:model Models/模型名
,一般為單數形式 - 生成模型工廠檔案
php artisan make:factory 工廠名
,工廠名一般是模型名稱+Factory
,大駝峰命名,如ManagerFactory
<?php // 引入模型檔案 use App\Models\Manager; use Faker\Generator as Faker; // 修改為指定的模型 $factory->define(Manager::class, function (Faker $faker) { return [ 'username' => $faker->name, 'password' => bcrypt('123456'), 'gender' => rand(1,3), 'mobile' => $faker->phoneNumber, 'email' => $faker->unique()->email, 'role_id' => rand(1,6), 'created_at' => date('Y-m-d Hs',time()), 'status' => rand(1,2) ]; });
生成
Seeder
檔案php artisan make:seeder ManagerSeeder
<?php // 引入模型檔案 use \App\Models\Manager; use Illuminate\Database\Seeder; class ManagerTableSeeder extends Seeder { public function run() { // 生成10條測試資料 $managers = factory(Manager::class)->times(10)->make(); // 新增到資料庫 Manager::insert($managers->toArray()); } }
執行填充
php artisan make:refresh
重置資料庫(可以不用這一步)php artisan db:seed ---class=ManagerTableSeeder
執行資料填充
- 生成對應資料表的模型檔案
注 :
如果想要填充的資料本土化,則需要在
config/app.php
檔案中的faker_locale
選項設定為自己想要的語言(前提是laravel中已經安裝了該語言),如漢語則可以設定為faker_locale = 'zh_CN'
本作品採用《CC 協議》,轉載必須註明作者和本文連結