From 9c8441fdef32565568f43144de5ff0891f997e59 Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Tue, 12 May 2009 23:58:57 +0200 Subject: [PATCH] Automatically cast field values. --- framework/Rdo/lib/Horde/Rdo/Mapper.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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); -- 2.11.0