from(Ghs::tableName()); $query->where(['ownPtStyle' => 2]); foreach ($query->batch(500) as $ghsList) { $connection = Yii::$app->db; $transaction = $connection->beginTransaction(); try { foreach ($ghsList as $ghs) { $ghsId = $ghs['id'] ?? 0; $balance = PurchaseOrderClass::sum(['ghsId' => $ghsId, 'debt' => 1], 'actPrice'); $debtNum = PurchaseOrderClass::getCount(['ghsId' => $ghsId, 'debt' => 1]); GhsClass::updateById($ghsId, ['balance' => -$balance, 'debtNum' => $debtNum]); $customId = $ghs['customId'] ?? 0; CustomClass::updateById($customId, ['balance' => -$balance, 'debtNum' => $debtNum]); } $transaction->commit(); } catch (\Exception $e) { $transaction->rollBack(); $msg = $e->getMessage(); echo "报错了:" . $msg . "\n"; } } } }