Neos\ContentRepository\Domain\Repository\NodeDataRepository::findByIdentifierWithoutReduce PHP Method

findByIdentifierWithoutReduce() public method

Only used internally for finding whether the node exists in another dimension
public findByIdentifierWithoutReduce ( string $identifier, Workspace $workspace ) : array<\Neos\ContentRepository\Domain\Model\NodeData>
$identifier string
$workspace Neos\ContentRepository\Domain\Model\Workspace
return array<\Neos\ContentRepository\Domain\Model\NodeData>
    public function findByIdentifierWithoutReduce($identifier, Workspace $workspace)
    {
        $workspaces = $this->collectWorkspaceAndAllBaseWorkspaces($workspace);
        $queryBuilder = $this->createQueryBuilder($workspaces);
        $this->addIdentifierConstraintToQueryBuilder($queryBuilder, $identifier);
        $query = $queryBuilder->getQuery();
        $foundNodes = $query->getResult();
        return $foundNodes;
    }

Usage Example

 /**
  * Get all node variants for the given identifier
  *
  * A variant of a node can have different dimension values and path (for non-aggregate nodes).
  * The resulting node instances might belong to a different context.
  *
  * @param string $identifier The identifier of a node
  * @return array<\Neos\ContentRepository\Domain\Model\NodeInterface>
  */
 public function getNodeVariantsByIdentifier($identifier)
 {
     $nodeVariants = array();
     $nodeDataElements = $this->nodeDataRepository->findByIdentifierWithoutReduce($identifier, $this->getWorkspace());
     /** @var NodeData $nodeData */
     foreach ($nodeDataElements as $nodeData) {
         $contextProperties = $this->getProperties();
         $contextProperties['dimensions'] = $nodeData->getDimensionValues();
         unset($contextProperties['targetDimensions']);
         $adjustedContext = $this->contextFactory->create($contextProperties);
         $nodeVariant = $this->nodeFactory->createFromNodeData($nodeData, $adjustedContext);
         $nodeVariants[] = $nodeVariant;
     }
     return $nodeVariants;
 }