Laravel使用faker Model Factory生成模擬數據

laravel5內置了 fzaninotto/faker 這個庫,我們可以非常簡單的創建一大堆模擬數據。

1. 模型工廠定義

Laravel 5 提供了一個全局的對象 $factory 用來定義我們的工廠
database/factories/UserFactory.php

$factory->define(App\User::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'password' => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
        'remember_token' => str_random(10),
    ];
});

從上面代碼可以看到,define方法有兩個參數,一個是對象模型類,另一個是一個帶了Faker\Generator類的閉包,返回用戶對象數組。

2. 使用工廠

創建模型但不將他們保存至數據庫

$user = factory(App\User::class)->make();

// 創建三個 App\User 實例...
$users = factory(App\User::class, 3)->make();

create 方法創建模型實例的同時還調用了把記錄寫入數據庫

 $user = factory(App\User::class)->create();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章