Мне нужно создать N уникальных слов. Кажется, что «слова» не работают с «уникальным».
\Faker\Factory::create()->unique()->words(14);
…unique () -> word () работает. Я пытаюсь создать 250 уникальных слов, подобных этому:
for ($i = 1; $i <= 250; $i++) {
$iadefaults[] = $faker->unique()->word();
}
но я получаю
Maximum retries of 10000 reached without finding a unique value
Как я могу создать эти 250 уникальных слов с помощью фейера?
Похоже, я нашел решение для вашей проблемы
Перейдите к источникам Факера, и там вы найдете Provider/Lorem.php
файл
На самом верху есть protected static $wordList
свойство, которое содержит массив, определяющий, какие слова возвращаются генератором. Если вы делаете count(array_count_values($wordList));
— вы увидите магическое число из 182 уникальных слов 🙂 Неудивительно, что он не смог получить больше уникальных значений на основе этого списка.
Так что вам просто нужно поместить больше уникальных слов в этот массив, и это поможет!
Других решений пока нет …