laravel在线教育开发__模拟数据(使用填充器)

在线教育之填充器

为了生成测试数据,可以使用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条随机数据

在这里插入图片描述
至此,完成模拟数据!!

猜你喜欢

转载自blog.csdn.net/qq_44796093/article/details/108393027