public function executeRepair() { $query = "SELECT * FROM sms_outbox WHERE log_id < 200 AND phone_id = 'smpia19' ORDER BY log_id DESC LIMIT 50"; $results = $this->sms->conn->get_results($query); foreach ($results as $r) { echo $r->log_id . '<br />'; echo $r->id . ' phone number ' . $r->destination_number . '<br />'; $c = new Criteria(); $c->add(SmsLogRecipientPeer::LOG_ID, $r->log_id, Criteria::EQUAL); $c->add(SmsLogRecipientPeer::RECIPIENT_NUMBER, '%' . $r->destination_number . '%', Criteria::LIKE); $log = SmsLogRecipientPeer::doSelectOne($c); if ($log) { $update = "UPDATE sms_outbox SET log_id = {$log->getId()} WHERE id = {$r->id}"; $this->sms->conn->query($update); echo 'update to ' . $log->getId() . '<br />'; } echo '<hr />'; } die; }