我正在尝试创建表,并在数据库播种器的帮助下用以下字段填充表:
前四个字段将被分配随机词,最后一个字段“正确选项”将包含前四个字段中的任何一个。我找不到使用Laravel数据库播种器执行此操作的任何解决方案。谁能帮忙?
Create a factory and use Faker生成您想要的随机词
创建三个伪造的单词,然后对数组中的所有单词使用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]),
];
});
这样的事情?
在工厂或播种机中使用伪造的随机元素函数。
$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]),
];