我想为不同角色的用户生成虚假数据,
我的文件在下面,
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Faker\Factory as Faker;
class InsertUserSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run() {
$faker = Faker::create();
foreach (range(1, 10) as $index) {
DB::table('user')->insert([
'name' => $faker->name,
'email' => $faker->email,
'role' => 'admin',
]);
}
}
}
从上面的代码中,它会生成 10 条管理员角色的记录。
我想生成与 ['admin','superadmin','client','agent','engineer'] 不同角色的记录
如何从给定的角色数组中获取角色的值。
最佳答案
您可以使用伪造者的方法 randomElement($array)
来完成这项工作:
<?php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Faker\Factory as Faker;
class InsertUserSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run() {
$faker = Faker::create();
foreach (range(1, 10) as $index) {
DB::table('user')->insert([
'name' => $faker->name,
'email' => $faker->email,
'role' => $faker->randomElement([
'admin',
'superadmin',
'client',
'agent',
'engineer',
]),
]);
}
}
}
为了可重用性,我建议使用模型工厂而不是直接在播种器中创建模型。您可以阅读它 in the documentation .
关于php - lumen 使用给定数组的 faker 生成假数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49553982/