私は、登録ユーザーが会社の電子メール(カスタムドメイン)を使用する必要があるラーベルアプリケーションを持っています。fakerでカスタムドメインを使用して独自の偽の電子メールを生成するにはどうすればよいですか?
私はどのように私のモデルファクトリーでそれをテストするために偽の発電機で達成することができますか?
私は、登録ユーザーが会社の電子メール(カスタムドメイン)を使用する必要があるラーベルアプリケーションを持っています。fakerでカスタムドメインを使用して独自の偽の電子メールを生成するにはどうすればよいですか?
私はどのように私のモデルファクトリーでそれをテストするために偽の発電機で達成することができますか?
あなたは、PHPのpreg_replace
機能と簡単なトリックを使用することができます。
preg_replace('/@example\..*/', '@domain.com', $faker->unique()->safeEmail)
ので、あなたのlaravelモデル工場のかもしれないが、次のようになります。
$factory->define(App\User::class, function (Faker\Generator $faker) {
static $password;
return [
'name' => $faker->name,
'email' => preg_replace('/@example\..*/', '@domain.com', $faker->unique()->safeEmail),
'password' => $password ?: $password = bcrypt('secret'),
'avatar' => $faker->imageUrl,
'remember_token' => str_random(10),
];
});
あなたは偽物\ジェネレータを使用することができます補助変数を作成する:
$factory->define(App\User::class, function (Faker\Generator $faker) {
$userName = $faker->userName;
$uniqueSuffix = $faker->unique()->word;
$domain = 'your.domain.com';
$uniqueFakeEmail = "[email protected]$domain";
return [
'email' => $uniqueFakeEmail,
// ...
];
});