Beispiel #1
0
 /**
  * @see ArrayAccess::offsetGet()
  * @throws \InvalidArgumentException
  */
 public function offsetGet($offset)
 {
     if ($this->metadata->isColumnExists($offset)) {
         $fieldName = $this->metadata->getTableColumnAlias($offset);
         return $this->{$fieldName};
     }
     return $this->{$offset};
 }
Beispiel #2
0
 /**
  * Fill entity instance fields from row column values according to entity value attributes.
  *
  * @param mixed $instance Entity instance
  * @param TableMetadata $metadata
  * @param array $row Database results row
  */
 protected function fillEntityFieldValues($instance, TableMetadata $metadata, array $row)
 {
     foreach ($row as $columnName => $columnValue) {
         // If database row has aliased field column
         if ($metadata->isColumnExists($columnName)) {
             $columnName = $metadata->getTableColumnAlias($columnName);
             // Store attribute value
             $instance->{$columnName} = $columnValue;
         }
     }
     // FIXME: Old activerecord pattern behavior
     $instance->id = (int) $row[$metadata->primaryField];
     // FIXME: Old activerecord pattern behavior
     $instance->attached = true;
     // Call handler for object filling
     $instance->filled();
 }