我建立了一个新工厂来生成随机数据。但我想使用de_DE格式的随机数据。因此,通常我首先创建一个造假者对象,但是在带有新ModelFactory类的Laravel 5.1中就不是这种情况。那我该如何定位呢?

$factory->define(App\Models\AED::class, function($faker) {
    return [
        'owner' => $faker->company,
        'street' => $faker->streetAddress,
        'latitude' => $faker->latitude,
        'longitude' => $faker->longitude
    ];
});

最佳答案

为了更改Faker使用的默认语言环境,最简单的方法是使用您自己的具体实现简单地覆盖FakerGenerator绑定(bind):

// AppServiceProvider.php
$this->app->singleton(FakerGenerator::class, function () {
    return FakerFactory::create('nl_NL');
});

AppServiceProvider.php文件的顶部添加以下行:
use Faker\Generator as FakerGenerator;
use Faker\Factory as FakerFactory;

例如,上面的代码将表示所有Faker实例都是使用nl_NL提供程序创建的,从而创建了荷兰造假者数据。

请记住:这必须在执行DatabaseServiceProvider之后发生,因此请确保将您自己的AppServiceProvider放在config.php数组中的所有Laravel ServiceProvider之后。

关于php - Laravel 5.1本地化播种机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30762464/

10-12 05:51