From: Jan Schneider Date: Tue, 12 May 2009 21:58:57 +0000 (+0200) Subject: Automatically cast field values. X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=9c8441fdef32565568f43144de5ff0891f997e59;p=horde.git Automatically cast field values. --- diff --git a/framework/Rdo/lib/Horde/Rdo/Mapper.php b/framework/Rdo/lib/Horde/Rdo/Mapper.php index 646e84753..e18061f6e 100644 --- a/framework/Rdo/lib/Horde/Rdo/Mapper.php +++ b/framework/Rdo/lib/Horde/Rdo/Mapper.php @@ -199,12 +199,19 @@ abstract class Horde_Rdo_Mapper implements Countable } $relationships = array(); - foreach ($fields as $fieldName => $fieldValue) { + foreach ($fields as $fieldName => &$fieldValue) { if (strpos($fieldName, '@') !== false) { list($rel, $field) = explode('@', $fieldName, 2); $relationships[$rel][$field] = $fieldValue; unset($fields[$fieldName]); } + if (isset($this->fields[$fieldName])) { + $fieldName = $this->fields[$fieldName]; + } + $column = $this->tableDefinition->getColumn($fieldName); + if ($column) { + $fieldValue = $column->typeCast($fieldValue); + } } $o = new $this->_classname($fields);