使用Laravel数据库种子在表行中创建具有相同随机值的数据库种子

问题描述 投票:2回答:3

我正在尝试创建表,并在数据库播种器的帮助下用以下字段填充表:

  • 选项a
  • 选项b
  • 选项c
  • 选项d
  • 正确的选项

前四个字段将被分配随机词,最后一个字段“正确选项”将包含前四个字段中的任何一个。我找不到使用Laravel数据库播种器执行此操作的任何解决方案。谁能帮忙?

database laravel faker
3个回答
0
投票

Create a factory and use Faker生成您想要的随机词


0
投票

创建三个伪造的单词,然后对数组中的所有单词使用randomElement

 $factory->define(Question::class, function (Faker $faker) {
      $optionA = $faker->word;
      $optionB = $faker->word;
      $optionC = $faker->word;
        return [
            'option_a' => $optionA,
            'option_b' => $optionB,
            'option_c' => $optionC,
            'correct_option' => $faker->randomElement([$optionA,$optionB,$optionC]),
        ];
    });

0
投票

这样的事情?

在工厂或播种机中使用伪造的随机元素函数。

$optionA = $faker->word;
$optionB = $faker->word;
$optionC = $faker->word;
$optionD = $faker->word;

return [
        'option_a' => $optionA,
        'option_b' => $optionB,
        'option_c' => $optionC,
        'option_d' => $optionD,
        'correct_option'   => $faker->randomElement([$optionA,$optionB,$optionC,$optionD]),
];
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.