我想为不同角色的用户生成假数据,
我的档案在下面,
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”
如何从给定的角色数组中获取角色的值。
发布于 2018-03-29 10:49:27
您可以使用伪造者的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',
]),
]);
}
}
}
为了可重用,我建议使用模型工厂,而不是直接在播种机中创建模型。你可以在上面读在文件中。
https://stackoverflow.com/questions/49553982
复制相似问题