1. 程式人生 > >laravel seeder factory填充資料

laravel seeder factory填充資料

1:/database/factories中UserFactory中修改

$factory->define(App\User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' =>bcrypt(str_random(10)), // secret
'remember_token' => str_random(10),
];
});

2:先建立users表的seeder;

php artisan make:seeder UsersTableSeeder


3:在/database/seeds/UsersTableSeeder.php;在run()新增呼叫user類;生成user表中的10個例項

public function run()
{
factory(\App\User::class,10)->create();
}

4:在DataTableSeeder中call()呼叫UsersTableSeeder
///database/seeds/DataTableSeeder.php
//是對資料填充限制的操作。所以unguard在前,reguard在後,unguard負責解除自動填充操作限制,reguard負責恢復限制。

public function run()
{
Model::unguard();
App\User::truncate();
$this->call(UsersTableSeeder::class);
Model::reguard();
}

5:生成測試資料

php artisan db:seed //執行所有的seeder
php artisan db:seed --class=你要執行的類名稱 //執行某個seeder