1,3 => 3, 1 => 4]; $oldData = DB::table($oldTableName)->orderBy('id','asc')->get(); $bar = $this->output->createProgressBar(count($oldData)); $bar->start(); $startTime = time(); $error = []; foreach ($oldData as $key => $value){ $userId = $value->id; // 判断记录在新表是否存在 $exist = DB::table($newTableName)->where('id',$userId)->exists(); if($exist){ continue; } $newData =[ 'id'=>$userId, 'nick_name'=>$value->name, 'avatar'=>$value->img, 'openid'=>$value->openid, // 'type'=> isset($typeData[$value->type])?$typeData[$value->type]:0, 'total_score'=>$value->total_score, 'wallet'=>$value->wallet, 'real_name'=>$value->real_name, 'tel'=>$value->tel, 'unionid'=>$value->unionid, 'status'=>$value->status, 'created_at' => strtotime($value->join_time), 'updated_at' => strtotime($value->sh_time), ]; $res = DB::table($newTableName)->insert($newData); if(!$res){ $error[] = ['id'=>$userId]; break; } $bar->advance(); } $bar->finish(); var_dump([time()-$startTime]); var_dump($error); return 0; } }