Neos\ContentRepository\Domain\Repository\NodeDataRepository::getNodeDataForParentAndNodeType PHP Метод

getNodeDataForParentAndNodeType() защищенный Метод

Internal method
protected getNodeDataForParentAndNodeType ( string $parentPath, string $nodeTypeFilter, Workspace $workspace, array $dimensions = null, boolean | null $removedNodes = false, boolean $recursive = false ) : array
$parentPath string
$nodeTypeFilter string
$workspace Neos\ContentRepository\Domain\Model\Workspace
$dimensions array
$removedNodes boolean | null
$recursive boolean
Результат array
    protected function getNodeDataForParentAndNodeType($parentPath, $nodeTypeFilter, Workspace $workspace, array $dimensions = null, $removedNodes = false, $recursive = false)
    {
        $workspaces = $this->collectWorkspaceAndAllBaseWorkspaces($workspace);
        $queryBuilder = $this->createQueryBuilder($workspaces);
        if ($dimensions !== null) {
            $this->addDimensionJoinConstraintsToQueryBuilder($queryBuilder, $dimensions);
        } else {
            $dimensions = [];
        }
        $this->addParentPathConstraintToQueryBuilder($queryBuilder, $parentPath, $recursive);
        if ($nodeTypeFilter !== null) {
            $this->addNodeTypeFilterConstraintsToQueryBuilder($queryBuilder, $nodeTypeFilter);
        }
        $query = $queryBuilder->getQuery();
        $nodes = $query->getResult();
        $foundNodes = $this->reduceNodeVariantsByWorkspacesAndDimensions($nodes, $workspaces, $dimensions);
        $foundNodes = $this->filterNodeDataByBestMatchInContext($foundNodes, $workspaces[0], $dimensions, $removedNodes);
        $foundNodes = $this->filterRemovedNodes($foundNodes, $removedNodes);
        return $foundNodes;
    }