from(CustomDebtChange::tableName()); $query->where(['capitalType' => 40]); foreach ($query->batch() as $batch) { foreach ($batch as $change) { $changeId = $change['id']; $relateId = $change['relateId'] ?? 0; $refund = RefundOrderClass::getById($relateId, true); $relateOrderSn = $refund->relateOrderSn ?? ''; if (empty($relateOrderSn)) { continue; } $order = OrderClass::getByCondition(['orderSn' => $relateOrderSn], true); if (!empty($order) && $order->payStatus == 1) { $payTime = $order->payTime; CustomDebtChangeClass::updateById($changeId, ['payTime' => $payTime]); echo $changeId . ' ' . $relateId . ' ' . $relateOrderSn . ' ' . $payTime . " OK \n"; } } } } public function actionOrder() { ini_set('memory_limit', '2045M'); set_time_limit(0); $query = new \yii\db\Query(); $query->from(Order::tableName()); $query->where(['payStatus' => 1]); foreach ($query->batch() as $batch) { foreach ($batch as $change) { $changeId = $change['id']; $payTime = $change['payTime']; CustomDebtChangeClass::updateByCondition(['capitalType' => 10, 'relateId' => $changeId], ['payTime' => $payTime]); } } } }