src/Queries/SectionQuery.php
protected function loadModels()
    {
        $queryType = 'SectionQuery::getList';
        $sort = $this->sort;
        $filter = $this->normalizeFilter();
        $countElements = $this->countElements;
        $select = $this->normalizeSelect();
        $navigation = $this->navigation;
        $keyBy = $this->keyBy;

        $callback = function() use ($sort, $filter, $countElements, $select, $navigation) {
            $sections = [];
            $rsSections = $this->bxObject->getList($sort, $filter, $countElements, $select, $navigation);
            while ($arSection = $this->performFetchUsingSelectedMethod($rsSections)) {

                // Если передать nPageSize, то Битрикс почему-то перестает десериализовать множественные свойсвта...
                // Проверим это еще раз, и если есть проблемы то пофиксим.
                foreach ($arSection as $field => $value) {
                    if (
                    is_string($value)
                    && Helpers::startsWith($value, 'a:')
                    && (Helpers::startsWith($field, 'UF_') || Helpers::startsWith($field, '~UF_'))
                    ) {
                        $unserializedValue = @unserialize($value);
                        $arSection[$field] = $unserializedValue === false ? $value : $unserializedValue;
                    }
                }

                $this->addItemToResultsUsingKeyBy($sections, new $this->modelName($arSection['ID'], $arSection));
            }

            return new Collection($sections);
        };

        $cacheParams = compact('queryType', 'sort', 'filter', 'countElements', 'select', 'navigation', 'keyBy');

        return $this->handleCacheIfNeeded($cacheParams, $callback);
    }
protected function loadModels()
    {
        $queryType = 'SectionQuery::getList';
        $sort = $this->sort;
        $filter = $this->normalizeFilter();
        $countElements = $this->countElements;
        $select = $this->normalizeSelect();
        $navigation = $this->navigation;
        $keyBy = $this->keyBy;

        $callback = function() use ($sort, $filter, $countElements, $select, $navigation) {
            $sections = [];
            $rsSections = $this->bxObject->getList($sort, $filter, $countElements, $select, $navigation);
            while ($arSection = $this->performFetchUsingSelectedMethod($rsSections)) {

                // Если передать nPageSize, то Битрикс почему-то перестает десериализовать множественные свойсвта...
                // Проверим это еще раз, и если есть проблемы то пофиксим.
                foreach ($arSection as $field => $value) {
                    if (
                    is_string($value)
                    && Helpers::startsWith($value, 'a:')
                    && (Helpers::startsWith($field, 'UF_') || Helpers::startsWith($field, '~UF_'))
                    ) {
                        $unserializedValue = @unserialize($value);
                        $arSection[$field] = $unserializedValue === false ? $value : $unserializedValue;
                    }
                }

                $this->addItemToResultsUsingKeyBy($sections, new $this->modelName($arSection['ID'], $arSection));
            }

            return new Collection($sections);
        };

        $cacheParams = compact('queryType', 'sort', 'filter', 'countElements', 'select', 'navigation', 'keyBy');

        return $this->handleCacheIfNeeded($cacheParams, $callback);
    }
protected function loadModels ( ) { $ queryType = 'SectionQuery::getList' ; $ sort = $ this -> sort ; $ filter = $ this -> normalizeFilter ( ) ; $ countElements = $ this -> countElements ; $ select = $ this -> normalizeSelect ( ) ; $ navigation = $ this -> navigation ; $ keyBy = $ this -> keyBy ; $ callback = function ( ) use ( $ sort , $ filter , $ countElements , $ select , $ navigation ) { $ sections = [ ] ; $ rsSections = $ this -> bxObject -> getList ( $ sort , $ filter , $ countElements , $ select , $ navigation ) ; while ( $ arSection = $ this -> performFetchUsingSelectedMethod ( $ rsSections ) ) { // Если передать nPageSize, то Битрикс почему-то перестает десериализовать множественные свойсвта... // Проверим это еще раз, и если есть проблемы то пофиксим. foreach ( $ arSection as $ field => $ value ) { if ( is_string ( $ value ) && Helpers :: startsWith ( $ value , 'a:' ) && ( Helpers :: startsWith ( $ field , 'UF_' ) || Helpers :: startsWith ( $ field , '~UF_' ) ) ) { $ unserializedValue = @ unserialize ( $ value ) ; $ arSection [ $ field ] = $ unserializedValue === false ? $ value : $ unserializedValue ; } } $ this -> addItemToResultsUsingKeyBy ( $ sections , new $ this -> modelName ( $ arSection [ 'ID' ] , $ arSection ) ) ; } return new Collection ( $ sections ) ; } ; $ cacheParams = compact ( 'queryType' , 'sort' , 'filter' , 'countElements' , 'select' , 'navigation' , 'keyBy' ) ; return $ this -> handleCacheIfNeeded ( $ cacheParams , $ callback ) ; }
CIBlockSection::getList substitution.

@return Collection
CIBlockSection :: getList substitution .