protected function update($table, $data, $pk)
 {
     $oQuery = new DbUpdater(DbUpdater::TYPE_UPDATE, $table, 't', $this->dbConnection);
     $oQuery->setElement($data);
     $oCriteria = new CriteriaElement('id', Criteria::EQUAL, $pk);
     $oQuery->addCriteria($oCriteria->renderWhere());
     $oQuery->update();
 }
 public function update(Object $oObject)
 {
     if (!$oObject->isNew()) {
         $this->saveForRelationData($oObject, true);
         $aContainer = $this->getContainer();
         $sClassName = $this->sModelAlias;
         $oQuery = new DbUpdater(DbUpdater::TYPE_UPDATE, $this->tableName(), $sClassName, $this->getDbConnectionAlias());
         $aInput = array();
         $aData = $oObject->export();
         unset($aData['Id']);
         foreach ($this->fields() as $alias => $field) {
             if (!empty($field['Virtual']) && $field['Virtual']) {
                 unset($aData[$alias]);
             }
         }
         foreach ($aData as $k => $itm) {
             if (!key_exists($k, $this->fields())) {
                 unset($aData[$k]);
             } else {
                 $aInput[$this->parseUpdateField($k)] = $itm;
             }
         }
         $oQuery->setElement($aInput);
         $oCriteria = new CriteriaElement('Id', Criteria::EQUAL, $oObject->getId());
         $oQuery->addCriteria($this->parseUpdateCriteria($oCriteria->renderWhere()));
         $oQuery->update();
         $this->saveForRelationData($oObject);
         return $oObject->getId();
     } else {
         return false;
     }
 }
Exemple #3
0
 protected function updateTableData($table, $data)
 {
     if (isset($data['Insert'])) {
         foreach ($data['Insert'] as $insert) {
             $oQuery = new DbUpdater(DbUpdater::TYPE_INSERT, $table, 't', $this->_dbConnection);
             $oQuery->setElement($insert);
             $oQuery->insert();
         }
     }
     if (isset($data['Update'])) {
         foreach ($data['Update'] as $insert) {
             $oQuery = new DbUpdater(DbUpdater::TYPE_UPDATE, $table, 't', $this->_dbConnection);
             $oQuery->setElement($insert);
             $oCriteria = new CriteriaElement('id', Criteria::EQUAL, $insert['id']);
             $oQuery->addCriteria($oCriteria->renderWhere());
             $oQuery->update();
         }
     }
 }
Exemple #4
0
 private function processDbUpdates()
 {
     if (isset($_GET['db']) && $_GET['db'] == 'update') {
         include_once LIB_ROOT . '/db_updater.class.php';
         $db = new DbUpdater();
         $db->setDbUpdatesFile(DOC_ROOT . '/db_updates.php');
         $db->update();
     }
 }