在 Laravel 中,如何在没有很多电子邮件的情况下创建多个帐户用于测试目的?

woo*_*399 4 laravel

如何在我正在开发的网站上创建多个帐户?

如果可以的话,我会完全禁用电子邮件要求和验证,我只是不知道要为此编辑什么。

这是一个本地站点,在我的计算机上运行。

emo*_*ity 5

您可以使用工厂来生成虚拟用户。

打开database/factories/UserFactory.php并填写与表中的列相匹配的列users

例如:

$factory->define(App\User::class, function(Faker $faker) {
    return [
        'first_name'        => $faker->firstName,
        'last_name'         => $faker->lastName,
        'email'             => $faker->unique()->safeEmail,
        'email_verified_at' => now(),
        'password'          => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret
        'remember_token'    => str_random(10),
    ];
});
Run Code Online (Sandbox Code Playgroud)

要查看可能的格式化程序列表,请参阅https://github.com/fzaninotto/Faker#formatters,这就是 Laravel 正在使用的。

然后创建一个种子:php artisan make:seed UsersTableSeeder

然后启用(取消注释)该种子database/seeds/DatabaseSeeder.php

public function run()
{
    $this->call(UsersTableSeeder::class);
}
Run Code Online (Sandbox Code Playgroud)

在里面UsersTableSeeder.php,粘贴以下内容:

public function run()
{
    $users = factory(App\User::class, 15)->make()->toArray();

    foreach ($users as $user) {
        App\User::create($user);
    }
}
Run Code Online (Sandbox Code Playgroud)

将数字更改15为您想要伪造的虚拟用户的数量。

然后运行php artisan db:seed将它们插入数据库。瞧!

要了解有关工厂的更多信息,请参阅:https ://laravel.com/docs/5.7/database-testing#writing-factories