Bolt\Storage\Field\Type\TaxonomyType::hydrate PHP Method

hydrate() public method

public hydrate ( $data, $entity )
    public function hydrate($data, $entity)
    {
        $taxName = $this->mapping['fieldname'];
        $data = $this->normalizeData($data, $taxName);
        if (!count($entity->getTaxonomy())) {
            $entity->setTaxonomy($this->em->createCollection('Bolt\\Storage\\Entity\\Taxonomy'));
        }
        $fieldTaxonomy = $this->em->createCollection('Bolt\\Storage\\Entity\\Taxonomy');
        foreach ($data as $tax) {
            $tax['content_id'] = $entity->getId();
            $tax['contenttype'] = (string) $entity->getContenttype();
            $taxEntity = new Entity\Taxonomy($tax);
            $entity->getTaxonomy()->add($taxEntity);
            $fieldTaxonomy->add($taxEntity);
        }
        $this->set($entity, $fieldTaxonomy);
        $entity->setGroup($this->getGroup($fieldTaxonomy));
        $entity->setSortorder($this->getSortorder($fieldTaxonomy));
    }