예제 #1
0
 /**
  * Find the nodes related to the relationship
  *
  * @param Property $property
  * @param array $info
  *
  * @return object
  */
 protected function getRelationshipNode(Property $property, array $info)
 {
     $nodeClass = $this->map->getClass($property->getOption('node'));
     foreach ($this->entities as $entity) {
         if (!$entity instanceof $nodeClass) {
             continue;
         }
         $nodeInfo = $this->entities->getInfo($entity);
         if ($nodeInfo['realId'] === $info[$property->getType()]) {
             return $entity;
         }
     }
     $query = new Query(sprintf('MATCH (n:%s) WHERE id(n) = {where}.id RETURN n;', $nodeClass));
     $query->addVariable('n', $nodeClass);
     $query->addParameters('where', ['id' => $info[$property->getType()]]);
     return $this->uow->execute($query)->current();
 }