1、创建填充文件
php artisan make:seeder UserSeeder
2、修改填充文件
/**
*管理员 数据填充
*/
public function run()
{
//清空数据表
User::truncate();
//添加模拟数据 100个用户
factory(User::class,100)->create();
// 规定id=1的用户名为admin
User::where('id',1)->update(['username'=>'admin']);
}
3、修改模型
class User extends Model
{
//守卫
//拒绝添加的字段
protected $guarded = [];
}
4、生成一个数据工厂
php artisan make:factory UserFactory -m Model/User
5、修改数据工厂生成数据的格式
$factory->define(User::class, function (Faker $faker) {
return [
'username'=>$faker->userName,
'truename'=>$faker->name(),
'password'=>bcrypt('admin'),
'email'=>$faker->email,
'phone'=>$faker->phoneNumber,
'sex'=>['先生','女士'][rand(0,1)]
];
});
6、修改DatabaseSeeder.php的总调用
class DatabaseSeeder extends Seeder
{
/**
* 做数据填充用的
*/
public function run()
{
//调用生成管理员的数据表
$this->call(UserSeeder::class);
}
}
7、执行数据填充
php artisan db:seed
注:迁移文件中字段可能设置有点短,可能填充不成功,此时,就需要修改一下数据字段长度,然后执行
php artisan migrate:refresh --seed
php artisan migrate:refresh 是重新执行迁移文件 加上--seed 是执行迁移文件并执行数据填充