如何在Laravel 5中将Faker的随机名和姓连接成完整姓名

7

我正在尝试在Laravel 5中使用Faker。现在我需要在我的用户表中创建一些用户,我选择了Faker。

我知道如何创建随机的firstname、lastname或userName,但我想将每个FN和LN连接起来成为用户名,我该怎么做呢?这是我的seeder文件中的代码:

public function run()
{
    $faker = Faker::create();

    foreach(range(1, 10) as $index) {
        User::create([
            'first_name'     => $faker->firstName($gender = null|'male'|'female'),
            'last_name'     => $faker->lastName,
            'username'     => $faker->userName(),
            'email'     => $faker->email,
            'password'     => bcrypt($faker->password(6))
        ]);
    }
}

image of seeder content

1个回答

9

您只需在foreach循环中创建faker的firstNamelastName,然后将它们连接起来形成username

public function run()
{
    $faker = Faker::create();

    foreach(range(1, 10) as $index) {
        $firstName = $faker->firstName;
        $lastName = $faker->lastName;
        User::create([
            'first_name'     => $firstName,
            'last_name'     => $lastName,
            'username'     => $firstName.$lastName,
            'email'     => $faker->email,
            'password'     => bcrypt($faker->password(6))
        ]);
    }
}

回答你的第二个问题,这取决于你想要的电子邮件地址。
public function run()
{
    $faker = Faker::create();

    foreach(range(1, 10) as $index) {
        $firstName = $faker->firstName;
        $lastName = $faker->lastName;
        $username = $firstName.$lastName;

        // username @ specific url
        $email = $username.'@exampple.ca';

        // first initial last name @ specific url
        $email = $firstName[0].$lastName.'@exampple.ca';

        // username @  random email safe url
        $email = $username.'@'.$faker->safeEmailDomain;

        // first initial last name @ random email safe url
        $email = $firstName[0].$lastName.'@'.$faker->safeEmailDomain;

        User::create([
            'first_name'     => $firstName,
            'last_name'     => $lastName,
            'username'     => $username,
            'email'     => $email,
            'password'     => bcrypt($faker->password(6))
        ]);
    }
}

谢谢!那很有道理!顺便问一下,我能用用户名作为电子邮件的账户名吗?我该怎么做呢?比如我的用户名是BobCroft,那么我的电子邮件地址就是BCroft@example.ca - B.D
根据您的评论/问题进行了更新。 - whoacowboy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接