在线教育之填充器
为了生成测试数据,可以使用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条随机数据
至此,完成模拟数据!!