Spec-Zone.ru › CakePHP 4.3

Класс LazyEagerLoader

Содержит методы, способные встраивать жадно загруженные ассоциации в сущности или списки сущностей, используя тот же синтаксис, что и EagerLoader.

Пространство имён: Cake\ORM

Краткое описание методов

  • _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

Таблица, откуда были получены сущности

Возвращает

array

loadInto() публичный

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>

См. также

\Cake\ORM\Query::contain()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API