#はじめに
備忘録になります。
Laravel5.5系で実施。
#仕様
LaravelでUserモデルのファクトリーを作成したい
・name:ランダムな名前
・email:重複しないメールアドレス
・password:複数レコードを作成する際は同じパスワードを使用。
・remember_token:10桁のランダム値
#コマンド
php artisan make factory UserFactory --model=User
今回は、Seederでfactoryを呼び出すためSeederも追加。
php artisan make:seeder UsersTableSeeder
#factoryソースコード
UserFactory.php
<?php
use Faker\Generator as Faker;
$factory->define(App\User::class, function (Faker $faker) {
static $password;
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' => $password ?: $password = bcrypt('test1234'),
'remember_token' => str_random(10),
];
});
fakerを作る際はこちらが参考になりました。
[Laravel5.1]Fakerチートシート
#Seederソースコード
UsersTableSeeder.php
<?php
use Illuminate\Database\Seeder;
class UsersTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(App\User::class, 50)->create();
}
}