public function getRawData($row)
 {
     if (isset($this->entity) && (isset($this->field) && $this->entity->hasField($this->field))) {
         return $this->entity->felder[$this->field]->getValue();
     } else {
         return 0;
     }
 }
 /**
  * Vergleicht zwei Objekte und speichert die Abweichungen in der Historie
  * @param $obj
  * @param BaseEntity $alterDs
  * @return bool
  */
 protected function feldAenderungen($obj, BaseEntity $alterDs)
 {
     // TODO: Kann man eigentlich auslagern
     if ($this->id <= 0) {
         return false;
     }
     // TODO: Watch-List welche Felder überwacht werden sollen
     $result = false;
     foreach ($obj->felder as $feld) {
         /** @var ModelField $feld */
         if ($feld->isWritable() && $alterDs->hasField($feld->name) && $feld->toString() !== $alterDs->felder[$feld->name]->toString()) {
             $result = true;
             Historie::wertAenderung($obj, $feld->description, $alterDs->felder[$feld->name]->toString(), $feld->toString());
         }
     }
     return $result;
 }
 /**
  * @param string|array $match
  * @param BaseEntity $entity
  * @param Control $controlContainer
  * @param $vars
  * @param $useControl
  * @return mixed
  */
 private function getReplacement($match, $entity, $controlContainer, $vars, $useControl)
 {
     if ($match === 'controls') {
         // Unter-Controls ausgeben
         return $controlContainer->renderChildren();
     } elseif (is_array($match)) {
         if (array_key_exists($match[0], $vars)) {
             // Zusammengesetzter Wert
             $variable = $match[0];
             $property = $match[1];
             return $vars[$variable]->{$property};
         } elseif (Configuration::get($match[0] . '.' . $match[1]) !== null) {
             // Konfigurations-Wert
             return Configuration::get($match[0] . '.' . $match[1]);
         }
     } elseif (array_key_exists($match, $vars)) {
         // Ein Wert im Variablen-Array
         return $this->getWertFromVars($match, $vars);
     } elseif ($entity !== null && $match === $entity->primaryKey) {
         // Primärschlüssel des Entity
         return $entity->id;
     } elseif ($controlContainer !== null && $controlContainer->get($match) !== null) {
         // Control ausgeben [nur HTML]
         return $controlContainer->get($match)->toHtml();
     } elseif ($entity !== null && $entity->hasField($match)) {
         // String-Repräsentation eines Felds [oder das Control]
         return $this->getWertFromEntity($match, $entity, $useControl);
     } elseif ($entity !== null && $entity->getParserText($match) !== '') {
         // Text aus dem Entity
         return $entity->getParserText($match);
     }
     return '';
 }