Ejemplo n.º 1
0
 /**
  * @param array         $source data
  * @param QueryBuilder  $qb
  * @param EntityManager $em
  *
  * @return mixed Entity
  */
 public function hydrate(array $source, QueryBuilder $qb, EntityManager $em = null)
 {
     $classname = $this->handler;
     $entity = new $classname();
     $entity->setContenttype($this->metadata->getBoltName());
     foreach ($this->metadata->getFieldMappings() as $key => $mapping) {
         // First step is to allow each Bolt field to transform the data.
         /** @var FieldTypeInterface $field */
         $field = new $mapping['fieldtype']($mapping);
         $field->hydrate($source, $entity, $em);
     }
     return $entity;
 }
Ejemplo n.º 2
0
 /**
  * @param QueryInterface $query
  * @param ClassMetadata  $metadata
  *
  * @return QueryInterface
  */
 public function query(QueryInterface $query, ClassMetadata $metadata)
 {
     foreach ($metadata->getFieldMappings() as $field) {
         /** @var FieldTypeInterface $fieldtype */
         $fieldtype = new $field['fieldtype']($field);
         $fieldtype->query($query, $metadata);
     }
     return $query;
 }
Ejemplo n.º 3
0
 /**
  * @param QueryBuilder  $qb
  * @param ClassMetadata $metadata
  *
  * @return QueryBuilder
  */
 public function load(QueryBuilder $qb, ClassMetadata $metadata)
 {
     foreach ($metadata->getFieldMappings() as $field) {
         /** @var FieldTypeInterface $fieldtype */
         $fieldtype = new $field['fieldtype']($field);
         $fieldtype->load($qb, $metadata);
     }
     return $qb;
 }