【问题标题】:Laravel Factory - How to make meaningful dummy data with a FactoryLaravel Factory - 如何使用工厂制作有意义的虚拟数据
【发布时间】:2019-06-07 03:05:56
【问题描述】:

我想制作韩国和日本的性别、年龄和国籍,但我不知道该怎么做。

$factory->define(User::class, function (Faker $faker) {

    $gender = $faker->randomElement(['men', 'women']);
    $address = $faker->randomElement(['seoul', 'fucuoka', 'tokyo']);
    $country = $faker->randomElement(['korea', 'japan']);
    $age = rand(3, 100);

    return [
        'name'              => $faker->name,
        'email'             => $faker->unique()->safeEmail,
        'email_verified_at' => now(),
        'password'          => '$2y$10$TKh8H1.PfQx37YgCzwiKb.KjNyWgaHb9cbcoQgdIVFlYg7B77UdFm', // secret,
        'country'           => $country,
        'address'           => $address,
        'age'               => $age,
        'gender'            => $gender,
        'remember_token'    => str_random(10),
    ];
});

【问题讨论】:

    标签: php laravel factory


    【解决方案1】:

    您是否考虑过通过 Laravel 将语言环境设置为韩语?然后Faker会产生一个韩国地址等。

    将此添加到配置文件夹中的 app.php 文件中:

    'faker_locale' => 'ko_KR',
    

    所有可用的语言环境都可以在这里找到:

    https://faker.readthedocs.io/en/master/locales/ko_KR.html

    【讨论】:

    • 怎么称呼?
    • 正如我所描述的,它将在全球范围内设置并适用于您项目中的所有工厂。
    • 这就是你想要的吗?然后,您只需将该行复制到 config/app.php 即可:-)
    【解决方案2】:

    在您的config/app.php 文件中添加此行(键)

    'faker_locale' => 'ko_KR',
    

    并运行config:cache 命令

     php artisan config:cache
    

    如果不想全局创建类似的对象

     Faker\Factory::create('ko_KR')
    

    在你的应该是这样添加的

    $factory->define(User::class, function (Faker\Factory::create('ko_KR') $faker)
    

    【讨论】:

    • 为什么要在本地开发中缓存配置?
    猜你喜欢
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 2021-02-02
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多