laravel5中使用faker生成模拟数据
Posted iaknehc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel5中使用faker生成模拟数据相关的知识,希望对你有一定的参考价值。
环境:
laravel5.1
第一步:安装扩展包
网址:https://github.com/fzaninotto/Faker
使用composer安装,命令如下所示
composer require fzaninotto/faker
第二步:编辑laravel中的模型工厂
1 vim database/factories/ModelFactory.php 2 3 <?php 4 5 $factory->define(App\\User::class, function (Faker\\Generator $faker) { 6 return [ 7 \'name\' => $faker->name, //用户名 8 \'email\' => $faker->safeEmail, //邮箱 9 \'age\' => $faker->numberBetween(10,120), //年龄 10 \'account\' => $faker->bankAccountNumber, //账户 11 \'address\'=> $faker->address //地址 12 ]; 13 });
第三步:编辑User模型
这一步也可以不需要,由于我的user表中没有添加created_time和updated_time字段,所以要将user.php修改一下
1 vim app/Model/User.php 2 3 添加一行 4 5 public $timestamps = false; 6 7 另附上user表建表语句 8 9 mysql> show create table user \\G 10 *************************** 1. row *************************** 11 Table: user 12 Create Table: CREATE TABLE `user` ( 13 `id` int(10) unsigned NOT NULL AUTO_INCREMENT, 14 `name` varchar(32) NOT NULL DEFAULT \'\', 15 `age` int(10) unsigned DEFAULT NULL, 16 `email` varchar(32) NOT NULL DEFAULT \'\', 17 `account` varchar(64) NOT NULL DEFAULT \'\', 18 `address` varchar(64) NOT NULL DEFAULT \'\', 19 PRIMARY KEY (`id`) 20 ) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 21 1 row in set (0.00 sec) 22 23 mysql>
第四步:添加一个路由访问模型工厂生成数据
1 vim app/Http/routes.php 2 3 Route::get(\'/createuser\',function(){ 4 //$user = factory(App\\User::class)->make(); //生成数据对象,但没有添加到数据库 5 $user = factory(App\\User::class,100)->create(); //生成数据并添加到数据库,factory第一个参数是数据模型,第二个参数是生成数据数量100条 6 7 });
第五步:访问路由,生成数据表中的数据如下图所示
以上是关于laravel5中使用faker生成模拟数据的主要内容,如果未能解决你的问题,请参考以下文章