Bolt\Storage\Field\Type\RelationType::hydrate PHP Метод

hydrate() публичный Метод

public hydrate ( $data, $entity )
    public function hydrate($data, $entity)
    {
        $field = $this->mapping['fieldname'];
        $data = $this->normalizeData($data, $field);
        if (!count($entity->getRelation())) {
            $entity->setRelation($this->em->createCollection('Bolt\\Storage\\Entity\\Relations'));
        }
        $fieldRels = $this->em->createCollection('Bolt\\Storage\\Entity\\Relations');
        foreach ($data as $relData) {
            $rel = [];
            $rel['id'] = $relData['id'];
            $rel['from_id'] = $entity->getId();
            $rel['from_contenttype'] = (string) $entity->getContenttype();
            $rel['to_contenttype'] = $field;
            $rel['to_id'] = $relData['toid'];
            $relEntity = new Entity\Relations($rel);
            $entity->getRelation()->add($relEntity);
            $fieldRels->add($relEntity);
        }
        $this->set($entity, $fieldRels[$field]);
    }