GraphAware\Neo4j\OGM\Metadata\RelationshipEntityMetadata::getType PHP Method

getType() public method

public getType ( ) : string
return string
    public function getType()
    {
        return $this->type;
    }

Usage Example

 public function getCreateQuery($entity, $pov)
 {
     $class = ClassUtils::getFullClassName(get_class($entity), $pov);
     $relationshipEntityMetadata = $this->em->getRelationshipEntityMetadata($class);
     $startNode = $relationshipEntityMetadata->getStartNodeValue($entity);
     $startNodeId = $this->em->getClassMetadataFor(get_class($startNode))->getIdValue($startNode);
     $endNode = $relationshipEntityMetadata->getEndNodeValue($entity);
     $endNodeId = $this->em->getClassMetadataFor(get_class($endNode))->getIdValue($endNode);
     $relType = $this->classMetadata->getType();
     $parameters = ['a' => $startNodeId, 'b' => $endNodeId, 'fields' => []];
     foreach ($this->classMetadata->getPropertiesMetadata() as $propertyMetadata) {
         $v = $propertyMetadata->getValue($entity);
         $parameters['fields'][$propertyMetadata->getPropertyName()] = $v;
     }
     $query = 'MATCH (a), (b) WHERE id(a) = {a} AND id(b) = {b}' . PHP_EOL;
     $query .= sprintf('CREATE (a)-[r:%s]->(b)', $relType) . PHP_EOL;
     if (!empty($parameters['fields'])) {
         $query .= 'SET r += {fields} ';
     }
     $query .= 'RETURN id(r) as id';
     return Statement::create($query, $parameters);
 }