【问题标题】:Seed Multiple Specific Data on Laravel在 Laravel 上播种多个特定数据
【发布时间】:2016-05-17 04:20:54
【问题描述】:

我想通过 Laravel 上的数据库播种器使用 locals3rackspace 来播种数据库表。但是,如果我将这三个特定名称与 $faker->randomElement() 方法一起使用,它只会多次填充相同的名称,这就是我不需要的。如果可能,我还想使用s3rackspace 存储名称为不同的列设置不同的值。

$factory->define(App\Storage::class, function (\Faker\Generator $faker) {
    return [
        'storage' => $faker->randomElement(['s3', 'local', 'rackspace']),
        's3-key' => null,
        's3-secret' => null,
        's3-region' => null,
        's3-bucket' => null,
        'rackspace-username' => null,
        'rackspace-key' => null,
        'rackspace-container' => null,
        'status' => 'active'
    ];
})

实现这一目标的最佳方法是什么?

【问题讨论】:

  • 试试这个,看看你是否得到相同的结果:$faker->randomElements(['s3', 'local', 'rackspace'],1)[0]
  • 成功了。但是,不明白这是如何工作的。另外,当我想为s3rackspace 设置s3-key 或其他参数时,该怎么办。

标签: php laravel-5.2 faker


【解决方案1】:

Faker/Provider/Baser.class 中有一个错误,它在 randomElement 函数中使用这行代码,因为它是使用static::关键字

static::randomElements($array, 1);

我会报告它,暂时使用这段代码:

$faker->randomElements(['s3', 'local', 'rackspace'],1)[0]

【讨论】:

    猜你喜欢
    • 2018-09-06
    • 2015-09-25
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 2016-04-01
    • 2018-03-07
    • 2020-02-27
    相关资源
    最近更新 更多