laravel5中使用faker生成模擬數據
阿新 • • 發佈:2017-11-03
make created row ani fault 數據 res show img
環境:
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生成模擬數據