Класс LazyEagerLoader
Содержит методы, способные вводить жадно загруженные ассоциации в сущности или списки сущностей, используя тот же синтаксис, что и EagerLoader.
Краткое описание методов
-
_getPropertyMap() protected
Возвращает карту имён свойств, где результаты ассоциации должны быть внедрены в сущности верхнего уровня.
-
_getQuery() protected
Строит запрос для загрузки переданного списка объектов сущностей вместе с ассоциациями, указанными в $contain.
-
_injectResults() protected
Вводит результаты запроса жадной загрузки в исходный список сущностей.
-
loadInto() public
Загружает указанные ассоциации в переданную сущность или список сущностей, выполняя дополнительные запросы в базе данных и объединяя результаты в соответствующие свойства.
Подробное описание методов
_getPropertyMap() protected
_getPropertyMap(Cake\ORM\Table $source, array<string> $associations): array<string>
Возвращает карту имён свойств, где результаты ассоциации должны быть внедрены в сущности верхнего уровня.
Параметры
-
Cake\ORM\Table$source Таблица, имеющая ассоциации верхнего уровня
-
array<string>$associations Имя ассоциаций верхнего уровня
Возвращаемое значение
array<string>_getQuery() protected
_getQuery(Cake\Collection\CollectionInterface $objects, array $contain, Cake\ORM\Table $source): Cake\ORM\Query
Строит запрос для загрузки переданного списка объектов сущностей вместе с ассоциациями, указанными в $contain.
Параметры
-
Cake\Collection\CollectionInterface$objects Исходные сущности
-
array$contain Ассоциации, которые нужно загрузить
-
Cake\ORM\Table$source Таблица для извлечения сущностей верхнего уровня
Возвращаемое значение
Cake\ORM\Query_injectResults() protected
_injectResults(iterableCake\Datasource\EntityInterface> $objects, Cake\ORM\Query $results, array<string> $associations, Cake\ORM\Table $source): arrayCake\Datasource\EntityInterface>
Вводит результаты запроса жадной загрузки в исходный список сущностей.
Параметры
-
iterableCake\Datasource\EntityInterface>$objects Исходный список сущностей
-
Cake\ORM\Query$results Загруженные результаты
-
array<string>$associations Ассоциации верхнего уровня, которые были загружены
-
Cake\ORM\Table$source Таблица, откуда взяты сущности
Возвращаемое значение
arrayCake\Datasource\EntityInterface>loadInto() public
loadInto(Cake\Datasource\EntityInterface|arrayCake\Datasource\EntityInterface> $entities, array $contain, Cake\ORM\Table $source): Cake\Datasource\EntityInterface|arrayCake\Datasource\EntityInterface>
Загружает указанные ассоциации в переданную сущность или список сущностей, выполняя дополнительные запросы в базе данных и объединяя результаты в соответствующие свойства.
Свойства для загружаемых ассоциаций будут перезаписаны для каждой сущности.
Параметры
-
Cake\Datasource\EntityInterface|arrayCake\Datasource\EntityInterface>$entities одна сущность или список сущностей
-
array$contain Массив, совместимый с
contain().-
Cake\ORM\Table$source Таблица для извлечения сущностей верхнего уровня
Возвращаемое значение
Cake\Datasource\EntityInterface|arrayCake\Datasource\EntityInterface>См. также
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.ORM.LazyEagerLoader.html