GraphAware\Neo4j\OGM\Metadata\RelationshipMetadata::getRelationshipEntityClass PHP Method

getRelationshipEntityClass() public method

    public function getRelationshipEntityClass()
    {
        return ClassUtils::getFullClassName($this->relationshipAnnotation->relationshipEntity, $this->className);
    }

Usage Example

Esempio n. 1
0
 public function persistRelationship($entityA, $entityB, RelationshipMetadata $relationship, array &$visited)
 {
     if ($entityB instanceof Collection || $entityB instanceof ArrayCollection) {
         foreach ($entityB as $e) {
             $aMeta = $this->entityManager->getClassMetadataFor(get_class($entityA));
             $bMeta = $this->entityManager->getClassMetadataFor(get_class($entityB));
             $type = $relationship->isRelationshipEntity() ? $this->entityManager->getRelationshipEntityMetadata($relationship->getRelationshipEntityClass())->getType() : $relationship->getType();
             $hashStr = $aMeta->getIdValue($entityA) . $bMeta->getIdValue($entityB) . $type . $relationship->getDirection();
             $hash = md5($hashStr);
             if (!array_key_exists($hash, $this->relationshipsScheduledForCreated)) {
                 $this->relationshipsScheduledForCreated[] = [$entityA, $relationship, $e, $relationship->getPropertyName()];
             }
             $this->doPersist($e, $visited);
         }
         return;
     }
     $this->doPersist($entityB, $visited);
     $this->relationshipsScheduledForCreated[] = [$entityA, $relationship, $entityB, $relationship->getPropertyName()];
 }