Prado\Data\SqlMap\Configuration\TSqlMapXmlMappingConfiguration::createResultMap PHP Method

createResultMap() protected method

Create a new result map and its associated result properties, disciminiator and sub maps.
protected createResultMap ( $node ) : TResultMap
return TResultMap SqlMap result mapping.
    protected function createResultMap($node)
    {
        $resultMap = new TResultMap();
        $this->setObjectPropFromNode($resultMap, $node);
        //result nodes
        foreach ($node->result as $result) {
            $property = new TResultProperty($resultMap);
            $this->setObjectPropFromNode($property, $result);
            $resultMap->addResultProperty($property);
        }
        //create the discriminator
        $discriminator = null;
        if (isset($node->discriminator)) {
            $discriminator = new TDiscriminator();
            $this->setObjectPropFromNode($discriminator, $node->discriminator);
            $discriminator->initMapping($resultMap);
        }
        foreach ($node->xpath('subMap') as $subMapNode) {
            if ($discriminator === null) {
                throw new TSqlMapConfigurationException('sqlmap_undefined_discriminator', $node, $this->_configFile, $subMapNode);
            }
            $subMap = new TSubMap();
            $this->setObjectPropFromNode($subMap, $subMapNode);
            $discriminator->addSubMap($subMap);
        }
        if ($discriminator !== null) {
            $resultMap->setDiscriminator($discriminator);
        }
        return $resultMap;
    }