为了生成测试数据,可以使用laravel填充器;可以更方便的添加数据至数据表中,避免花费大量时间在数据表中添加数据。
1.创建填充器文件,在命令行中输入 php artisan make:seeder ManagerTableSeeder ;之后便会在database/seeds下生成ManagerTableSeeder.php文件;
2.编写填充器代码文件,这里至少模拟出100条数据,借助for循环和faker插件; 在 https://packagist.org/packages/fzaninotto/faker 中可以查看下载及使用方法;由于laravel框架自带了faker插件所以不需要再次下载;可以看到在vendor/fzaninotto/faker已经生成;
3.开始编写;注意:Faker前面要加 “\” 不然默认就是当前文件下,还要注意的是create(‘zh_CN’),这里‘zh_CN’表示本地化,也就是中国地区的格式;具体的属性使用可以查看 https://packagist.org/packages/fzaninotto/faker
public function run() { //利用faker插件 //实例化 $faker = \Faker\Factory::create('zh_CN');//本地化生成方法(添加中zh_CN) //访问具体的属性来获取数据 $data = []; for ($i = 0; $i <100; $i ++){ $data[] = [ 'username' => $faker->userName, //生成用户名 'password' => bcrypt('123456'), //框架内置密码加密方法(默认密码为123456) 'gender' => rand(1,3), //随机性别 'mobile' => $faker->phoneNumber, //生成手机号 'email' => $faker->email, //邮箱 'role_id' => rand(1,6), //角色ID 'created_at' => date('Y-m-d H:i:s',time()), 'status' => rand(1,2), //状态 ]; } //写入到数据表 \Illuminate\Support\Facades\DB::table('manager')->insert($data); }4.编写完成之后运行填充文件 php artisan db:seed --class=ManagerTableSeeder 运行之后可以在数据表中发现多出了100条随机数据
至此,完成模拟数据!!