Множество специфических данных семян на Laravel
Я хочу заполнить таблицу базы данных, используя local, s3 и rackspace, используя сидра базы данных на Laravel. Однако, если я использую эти три конкретных имени с $faker->randomElement()
метод это просто заполнить одно и то же имя несколько раз, и это то, что мне не нужно. Если возможно, я также хочу установить другое значение для другого столбца, используя s3
или же rackspace
имя хранилища.
$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'
];
})
Каков был бы лучший способ достичь этого?
1 ответ
В Faker/Provider/Baser.class есть ошибка, она использует эту строку кода внутри randomElement
Функция, которая дублирует один и тот же случайный элемент снова и снова для одного и того же экземпляра из-за того, что он использует static::
ключевое слово
static::randomElements($array, 1);
Я сообщу об этом, на данный момент используйте этот кусок кода:
$faker->randomElements(['s3', 'local', 'rackspace'],1)[0]