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'


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值