db->createCommand($sql)->execute(); $connection = Yii::$app->db; $transaction = $connection->beginTransaction(); try { $itemClassList = PtItemCatClass::getAllByCondition(['type' => 0], null, '*'); if (empty($itemClassList)) { util::stop('没有花材的分类'); } foreach ($itemClassList as $itemClass) { $classId = $itemClass['id'] ?? 0; $className = $itemClass['name'] ?? ''; $classCover = $itemClass['cover'] ?? ''; $classInTurn = $itemClass['inTurn'] ?? 100; $itemList = PtItemCatRelateClass::getAllByCondition(['catId' => $classId], null, '*', 'itemId'); if (empty($itemList)) { continue; } $addClass = ['cover' => $classCover, 'name' => $className, 'inTurn' => $classInTurn]; $newClass = PtCpClassClass::add($addClass, true); $newClassId = $newClass->id ?? 0; $ids = array_keys($itemList); $newItemList = PtItemClass::getAllByCondition(['id' => ['in', $ids]], null, '*'); foreach ($newItemList as $newItem) { $itemId = $newItem['id'] ?? 0; $itemName = $newItem['name'] ?? ''; $itemPy = $newItem['py'] ?? ''; $itemCover = $newItem['cover'] ?? ''; $itemAuth = $newItem['auth'] ?? 0; $addCp = [ 'classId' => $newClassId, 'name' => $itemName, 'cover' => $itemCover, 'auth' => $itemAuth, ]; $newCp = PtCpClass::addCp($addCp); $newCpId = $newCp->id ?? 0; $addCpItem = [ 'cpId' => $newCpId, 'itemId' => $itemId, 'auth' => $itemAuth, 'name' => $itemName, 'py' => $itemPy, 'cpName' => $itemName, 'cpPy' => $itemPy, ]; PtCpItemClass::add($addCpItem, true); } } //最后创建一个默认分类 $addClass = ['cover' => '', 'name' => '默认分类', 'inTurn' => 0, 'isDefault' => 1]; PtCpClassClass::add($addClass, true); $transaction->commit(); } catch (\Exception $e) { $transaction->rollBack(); $msg = $e->getMessage(); echo $msg; } } }