Laravel 数据迁移填充用户表
创建生成模型和迁移文件
php artisan make:model Models/User -m注意要先把目录database/migrations下的文件和Models下的User模型先删除

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->id();
        // 角色
        $table->unsignedInteger('role_id')->default(0)->comment('角色ID');
        $table->string('username',50)->comment('账号');
        $table->string('truename',50)->default('未知')->comment('真实姓名');
        $table->string('password',255)->comment('密码');
        $table->string('email',50)->nullable()->comment('电子邮箱');
        $table->string('phone',30)->comment('手机号码');
        $table->enum('sex',['先生','女士'])->default('先生')->comment('性别');
        $table->char('last_ip',32)->default('')->comment('登录的ip');
        $table->timestamps();
        //要添加软删除字段
        $table->softDeletes();
    });
}执行迁移文件
php artisan migrate问题处理

在 /app/Providers/APPServiceProvider.php中z

创建用户的数据填充文件
php artisan make:seeder UserSeeder
// UserModel为自己定义的模型名   
UserModel::truncate();
        //添加模拟数据 100用户
        UserModel::factory()
            //生成100条数据
            ->count(100)
            ->create();
        //修改id=1用户
        UserModel::where('id', 1)->update(['username' => 'admin']);生成一个数据工厂
php artisan make:factory UserFactory -m User
public function definition()
{
    return [
        'username'=>$this->faker->userName,
        'truename'=>$this->faker->name(),
        'password'=>bcrypt('admin123'),
        'email'=>$this->faker->email,
        'phone'=>$this->faker->phoneNumber(),
        'sex'=>['先生','女士'][rand(0,1)]
    ];
}修改总调用

执行填充
php artisan db:seed
注:迁移文件中字段可能设置有点短,可能填充不成功,此时,就需要修改一下数据字段长度,然后执行
php artisan migrate:refresh --seed
 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号