Laravel 中使用模型工厂 (Factory)

  • 使用模型工厂Factory来填充数据
  1. 生成对应数据表的模型文件
    php artisan make:model Models/模型名,一般为单数形式
  2. 生成模型工厂文件
    php artisan make:factory 工厂名,工厂名一般是模型名称+Factory,大驼峰命名,如ManagerFactory
	
	// 引入模型文件
	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
   
   // 引入模型文件
   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'


你可能感兴趣的:(laravel)