private function __map(DBObject $dbObject) { if (empty($this->fields)) { return $dbObject->getFieldsList(); } $data = []; foreach ($this->fields as $field) { $data[$field] = $dbObject->getFieldValue($field); } return $data; }
/** * Executes SQL UPDATE query to the database. * * @param DBObject $dbObject DBObject to update. * * @return integer Returns the number of affected rows on success, and -1 if * the last query failed. */ public static function updateDBObject($dbObject) { $fieldsList = $dbObject->getFieldsList(); $idFieldName = $dbObject->getIdFieldName(); $query = "UPDATE " . $dbObject->getTableName() . "\n SET " . DBPreparedQuery::sqlQMValuesString($fieldsList, $idFieldName) . "\n WHERE " . $idFieldName . " = ?\n LIMIT 1"; $typesString = DBPreparedQuery::sqlTypesString($fieldsList, $idFieldName); if (Tools::isInteger($fieldsList[$idFieldName])) { $typesString .= "i"; } else { $typesString .= "s"; } $valuesList = self::createValuesList($fieldsList, $idFieldName); $valuesList[] = $dbObject->getId(); return self::doUpdateQuery($query, $typesString, $valuesList); }