/** * 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(); }