コード例 #1
0
ファイル: MetadataDriver.php プロジェクト: ryanturner10/bolt
 /**
  * {@inheritdoc}
  */
 public function loadMetadataForClass($className, ClassMetadata $metadata = null)
 {
     if (null === $metadata) {
         $fullClassName = $this->resolveClassName($className);
         $metadata = new BoltClassMetadata($fullClassName, $this->namingStrategy);
     }
     if (!$this->initialized) {
         $this->initialize();
     }
     if (array_key_exists($className, $this->metadata)) {
         $data = $this->metadata[$className];
         $metadata->setTableName($data['table']);
         $metadata->setIdentifier($data['identifier']);
         $metadata->setFieldMappings($data['fields']);
         $metadata->setBoltName($data['boltname']);
         return $metadata;
     } else {
         throw new \Exception("Attempted to load mapping data for unmapped class {$className}");
     }
 }
コード例 #2
0
ファイル: TemplateFieldsType.php プロジェクト: atiarda/bolt
 protected function buildMetadata($entity, $rawData = null)
 {
     $template = $this->chooser->record($entity, $rawData);
     $metadata = new ClassMetadata(get_class($entity));
     if (isset($this->mapping['config'][$template])) {
         $mappings = $this->em->getMapper()->loadMetadataForFields($this->mapping['config'][$template]['fields']);
         $metadata->setFieldMappings((array) $mappings);
     }
     return $metadata;
 }