Nextras\Orm\Mapper\Dbal\RelationshipMapperOneHasMany::execute PHP Метод

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

protected execute ( DbalCollection $collection, Nextras\Orm\Entity\IEntity $parent )
$collection DbalCollection
$parent Nextras\Orm\Entity\IEntity
    protected function execute(DbalCollection $collection, IEntity $parent)
    {
        $builder = $collection->getQueryBuilder();
        $preloadIterator = $parent->getPreloadContainer();
        $values = $preloadIterator ? $preloadIterator->getPreloadValues('id') : [$parent->getValue('id')];
        $cacheKey = $this->calculateCacheKey($builder, $values);
        $data =& $this->cacheEntityIterator[$cacheKey];
        if ($data !== null) {
            return $data;
        }
        if ($builder->hasLimitOffsetClause() && count($values) > 1) {
            $data = $this->fetchByTwoPassStrategy($builder, $values);
        } else {
            $data = $this->fetchByOnePassStrategy($builder, stripos($cacheKey, 'JOIN') !== false, $values);
        }
        return $data;
    }