Laravel 中使用模型工廠 (Factory)

  • 使用模型工廠Factory來填充數據
  1. 生成對應數據表的模型文件
    php artisan make:model Models/模型名,一般爲單數形式
  2. 生成模型工廠文件
    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 H:i:s',time()),
			'status' => rand(1,2)
		];
	});
  1. 生成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());
  	}
  }
  1. 執行填充
    php artisan make:refresh 重置數據庫(可以不用這一步)
    php artisan db:seed ---class=ManagerTableSeeder 執行數據填充
  • 注 :

如果想要填充的數據本土化,則需要在config/app.php文件中的faker_locale選項設置爲自己想要的語言(前提是laravel中已經安裝了該語言),如漢語則可以設置爲 faker_locale = 'zh_CN'


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章