$data) { $referenceName = !is_numeric($key) ? $key : false; self::addEntry($entityName, $data, $referenceName); } } /** * Add a single entry. * @param string $entityName * @param array $data * @param string $referenceName */ static protected function addEntry($entityName, array $data, $referenceName = false) { $entity = new $entityName(); $entity->fromArray($data); self::$em->persist($entity); self::$em->flush(); if ($referenceName) { self::$references[$referenceName] = self::$em->getReference($entityName, $entity->id); } } /** * Retrieve a reference. * @param string $name * @return object|null */ static protected function getReference($name) { self::$em->merge(self::$references[$name]); return self::$references[$name]; } }