On this page
Class LazyEagerLoader
Contains methods that are capable of injecting eagerly loaded associations into entities or lists of entities by using the same syntax as the EagerLoader.
Method Summary
_getPropertyMap() protected
Returns a map of property names where the association results should be injected in the top level entities.
_getQuery() protected
Builds a query for loading the passed list of entity objects along with the associations specified in $contain.
_injectResults() protected
Injects the results of the eager loader query into the original list of entities.
loadInto() public
Loads the specified associations in the passed entity or list of entities by executing extra queries in the database and merging the results in the appropriate properties.
Method Detail
_getPropertyMap() protected
_getPropertyMap(Cake\ORM\Table $source, array<string> $associations): array<string>
Returns a map of property names where the association results should be injected in the top level entities.
Parameters
Cake\ORM\Table
$source-
The table having the top level associations
array<string>
$associations-
The name of the top level associations
Returns
array<string>
_getQuery() protected
_getQuery(Cake\Collection\CollectionInterface $objects, array $contain, Cake\ORM\Table $source): Cake\ORM\Query
Builds a query for loading the passed list of entity objects along with the associations specified in $contain.
Parameters
Cake\Collection\CollectionInterface
$objects-
The original entities
array
$contain-
The associations to be loaded
Cake\ORM\Table
$source-
The table to use for fetching the top level entities
Returns
Cake\ORM\Query
_injectResults() protected
_injectResults(iterableCake\Datasource\EntityInterface> $objects, Cake\ORM\Query $results, array<string> $associations, Cake\ORM\Table $source): arrayCake\Datasource\EntityInterface>
Injects the results of the eager loader query into the original list of entities.
Parameters
iterableCake\Datasource\EntityInterface>
$objects-
The original list of entities
Cake\ORM\Query
$results-
The loaded results
array<string>
$associations-
The top level associations that were loaded
Cake\ORM\Table
$source-
The table where the entities came from
Returns
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>
Loads the specified associations in the passed entity or list of entities by executing extra queries in the database and merging the results in the appropriate properties.
The properties for the associations to be loaded will be overwritten on each entity.
Parameters
Cake\Datasource\EntityInterface|arrayCake\Datasource\EntityInterface>
$entities-
a single entity or list of entities
array
$contain-
A
contain()
compatible array. Cake\ORM\Table
$source-
The table to use for fetching the top level entities
Returns
Cake\Datasource\EntityInterface|arrayCake\Datasource\EntityInterface>
See Also
© 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