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  });

第五步:訪問路由,生成數據表中的數據如下圖所示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM