我有一个 Laravel 应用程序,要求注册用户必须使用他们的公司电子邮件(自定义域)。

那么我如何使用伪造生成器来实现这一点,以使用我的模型工厂对其进行测试?

最佳答案

您可以在 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),
    ];
});

关于php - 如何使用带有 faker 的自定义域生成唯一的假电子邮件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43174383/

10-13 22:44