Storm\Drivers\Base\Mapping\Mappings\LazyCollectionPropertyToManyRelationMapping::Revive PHP Метод

Revive() публичный Метод

public Revive ( DomainDatabaseMap $DomainDatabaseMap, array $ResultRowArray, array $RevivalDataArray )
$DomainDatabaseMap Storm\Core\Mapping\DomainDatabaseMap
$ResultRowArray array
$RevivalDataArray array
    public function Revive(Mapping\DomainDatabaseMap $DomainDatabaseMap, array $ResultRowArray, array $RevivalDataArray)
    {
        $RelatedRevivalDataArrayLoader = function ($ParentRowKey) use(&$DomainDatabaseMap, &$ResultRowArray) {
            static $ParentKeyRevivalDataArraysMap = null;
            if ($ParentKeyRevivalDataArraysMap === null) {
                $RelatedRows = $this->LoadRelatedRows($DomainDatabaseMap, $ResultRowArray);
                $ParentKeyRevivalDataArraysMap = $this->MapParentRowKeysToRelatedRevivalDataArray($DomainDatabaseMap, $ResultRowArray, $RelatedRows);
            }
            return $ParentKeyRevivalDataArraysMap[$ParentRowKey];
        };
        foreach ($RevivalDataArray as $Key => $RevivalData) {
            $Loader = function () use(&$RelatedRevivalDataArrayLoader, $Key) {
                return $RelatedRevivalDataArrayLoader($Key);
            };
            $RevivalData[$this->Property] = $this->MakeMultipleLazyRevivalData($DomainDatabaseMap, $ResultRowArray[$Key], $Loader);
        }
    }
LazyCollectionPropertyToManyRelationMapping