foreach ($importData as $k => $data) {
//判断游戏id是否存在
$gameId = $data[0];
$gameName = MoxGame::getGameByGameid($gameId);
if ($gameId == 1) {//游戏id为1的,模板默认为1
continue;
}
if (empty($gameName)) { //过滤不存在的游戏
$fail++;
$failGameId .= $gameId . ',';
continue;
}
//把开服时间转换成时间戳
if (!empty($data[3])) {
$data[3] = strtotime(gmdate('Y-m-d H:i', \PHPExcel_Shared_Date::ExcelToPHP($data[3])));
}
//新系统导入数据组合
$data[] = $type; //把类型组合到数组里头
$data[] = time();
$data[] = Yii::$app->user->identity->username;
$newData[] = $data;
$newDataStr .= "('" . implode("','", $data) . "'),";
//老系统导入数据组合
$old = [];
$old[0] = $data[0];
$old[1] = $data[2];
$old[2] = $data[3];
$old[3] = $data[4];
$oldDataStr .= "('" . implode("','", $old) . "'),";
}
//1.批量插入一
$col = ['gameid', 'server_id', 'server', 'start_time', 'sort', 'is_recommend', 'type', 'created_at', 'created_user'];
$sql = Yii::$app->db->createCommand()->batchInsert('cy_server', $col, $newData)->getRawSql();
debug("新数据导入sql:".$sql);
$num = $db->createCommand()->batchInsert('cy_server', $col, $newData)->execute();
//2.批量插入二
$col = "`gameid`, `server_id`, `server`, `start_time`, `sort`, `is_recommend`, `type`, `created_at`, `created_user`";
$newDataStr = trim($newDataStr, ',');
$sql = "INSERT IGNORE INTO cy_server ($col) VALUES $newDataStr";
$db->createCommand($sql)->execute();
//3.批量插入三
$col = "`gameid`, `sername`, `sertime`, `order`";
$oldDataStr = trim($oldDataStr, ',');
$sql = "REPLACE INTO cy_serverinfo ($col) VALUES $oldDataStr";
$btboxDb->createCommand($sql)->execute();
yii2 batchInsert批量插入
最新推荐文章于 2023-12-06 15:19:26 发布