/**
  * Apply the result to an object.
  * @param array a result set row retrieved from the database
  * @param object result object, array or list
  * @return object result filled with data.
  */
 protected function fillResultObjectProperty($row, $resultObject)
 {
     $index = 0;
     $registry = $this->getManager()->getTypeHandlers();
     foreach ($row as $k => $v) {
         $property = new TResultProperty();
         if (is_string($k) && strlen($k) > 0) {
             $property->setColumn($k);
         }
         $property->setColumnIndex(++$index);
         $type = gettype(TPropertyAccess::get($resultObject, $k));
         $property->setType($type);
         $value = $property->getPropertyValue($registry, $row);
         TPropertyAccess::set($resultObject, $k, $value);
     }
     return $resultObject;
 }
Exemplo n.º 2
0
 /**
  * Add a TResultProperty to result mapping.
  * @param TResultProperty result property.
  */
 public function addResultProperty(TResultProperty $property)
 {
     $this->_columns[$property->getProperty()] = $property;
 }