Класс LazyEagerLoader
Содержит методы, способные встраивать жадно загруженные ассоциации в сущности или списки сущностей, используя тот же синтаксис, что и EagerLoader.
Краткое описание методов
-
_getPropertyMap() защищённый
Возвращает карту имён свойств, где результаты ассоциаций должны быть встроены в сущности верхнего уровня.
-
_getQuery() защищённый
Строит запрос для загрузки переданного списка объектов сущностей вместе с ассоциациями, указанными в $contain.
-
_injectResults() защищённый
Встраивает результаты запроса жадного загрузчика в исходный список сущностей.
-
loadInto() публичный
Загружает указанные ассоциации в переданную сущность или список сущностей, выполняя дополнительные запросы в базе данных и объединяя результаты в соответствующие свойства.
Подробное описание методов
_getPropertyMap() защищённый
_getPropertyMap(Cake\ORM\Table $source, array<string> $associations): array<string>
Возвращает карту имён свойств, где результаты ассоциаций должны быть встроены в сущности верхнего уровня.
Параметры
-
Cake\ORM\Table$source Таблица, содержащая ассоциации верхнего уровня
-
array<string>$associations Название ассоциаций верхнего уровня
Возвращает
array<string>_getQuery() защищённый
_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() защищённый
_injectResults(Traversable|arrayCake\Datasource\EntityInterface> $objects, Cake\ORM\Query $results, array<string> $associations, Cake\ORM\Table $source): array
Встраивает результаты запроса жадного загрузчика в исходный список сущностей.
Параметры
-
Traversable|arrayCake\Datasource\EntityInterface>$objects Исходный список сущностей
-
Cake\ORM\Query$results Загруженные результаты
-
array<string>$associations Ассоциации верхнего уровня, которые были загружены
-
Cake\ORM\Table$source Таблица, откуда были получены сущности
Возвращает
arrayloadInto() публичный
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.3/class-Cake.ORM.LazyEagerLoader.html