On this page
Class EagerLoadable
Represents a single level in the associations tree to be eagerly loaded for a specific query. This contains all the information required to fetch the results from the database from an associations and all its children levels.
Property Summary
-
$_aliasPath protected
stringA dotted separated string representing the path of associations that should be followed to fetch this level.
-
$_associations protected
arrayCake\ORM\EagerLoadable>A list of other associations to load from this level.
-
$_canBeJoined protected
boolWhether this level can be fetched using a join.
-
$_config protected
array<string, mixed>A list of options to pass to the association object for loading the records.
-
$_forMatching protected
bool|nullWhether this level was meant for a "matching" fetch operation
-
$_instance protected
Cake\ORM\Association|nullThe Association class instance to use for loading the records.
-
$_name protected
stringThe name of the association to load.
-
$_propertyPath protected
string|nullA dotted separated string representing the path of entity properties in which results for this level should be placed.
-
$_targetProperty protected
string|nullThe property name where the association result should be nested in the result.
Method Summary
__clone() public
Handles cloning eager loadables.
__construct() public
Constructor. The $config parameter accepts the following array keys:
addAssociation() public
Adds a new association to be loaded from this level.
aliasPath() public
Gets a dot separated string representing the path of associations that should be followed to fetch this level.
asContainArray() public
Returns a representation of this object that can be passed to Cake\ORM\EagerLoader::contain()
associations() public
Returns the Association class instance to use for loading the records.
canBeJoined() public
Gets whether this level can be fetched using a join.
forMatching() public
Gets whether this level was meant for a "matching" fetch operation.
getConfig() public
Gets the list of options to pass to the association object for loading the records.
instance() public
Gets the Association class instance to use for loading the records.
propertyPath() public
Gets a dot separated string representing the path of entity properties in which results for this level should be placed.
setCanBeJoined() public
Sets whether this level can be fetched using a join.
setConfig() public
Sets the list of options to pass to the association object for loading the records.
targetProperty() public
The property name where the result of this association should be nested at the end.
Method Detail
__clone() public
__clone(): void
Handles cloning eager loadables.
Returns
void__construct() public
__construct(string $name, array<string, mixed> $config = [])
Constructor. The $config parameter accepts the following array keys:
- associations
- instance
- config
- canBeJoined
- aliasPath
- propertyPath
- forMatching
- targetProperty
The keys maps to the settable properties in this class.
Parameters
string$name-
The Association name.
array<string, mixed>$config optional-
The list of properties to set.
addAssociation() public
addAssociation(string $name, Cake\ORM\EagerLoadable $association): void
Adds a new association to be loaded from this level.
Parameters
string$name-
The association name.
Cake\ORM\EagerLoadable$association-
The association to load.
Returns
voidaliasPath() public
aliasPath(): string
Gets a dot separated string representing the path of associations that should be followed to fetch this level.
Returns
stringasContainArray() public
asContainArray(): array<string, array>
Returns a representation of this object that can be passed to Cake\ORM\EagerLoader::contain()
Returns
array<string, array>associations() public
associations(): arrayCake\ORM\EagerLoadable>
Returns the Association class instance to use for loading the records.
Returns
arrayCake\ORM\EagerLoadable>canBeJoined() public
canBeJoined(): bool
Gets whether this level can be fetched using a join.
Returns
boolforMatching() public
forMatching(): bool|null
Gets whether this level was meant for a "matching" fetch operation.
Returns
bool|nullgetConfig() public
getConfig(): array<string, mixed>
Gets the list of options to pass to the association object for loading the records.
Returns
array<string, mixed>instance() public
instance(): Cake\ORM\Association
Gets the Association class instance to use for loading the records.
Returns
Cake\ORM\AssociationThrows
RuntimeExceptionpropertyPath() public
propertyPath(): string|null
Gets a dot separated string representing the path of entity properties in which results for this level should be placed.
For example, in the following nested property:
$article->author->company->country
The property path of country will be author.company
Returns
string|nullsetCanBeJoined() public
setCanBeJoined(bool $possible): $this
Sets whether this level can be fetched using a join.
Parameters
bool$possible-
The value to set.
Returns
$thissetConfig() public
setConfig(array<string, mixed> $config): $this
Sets the list of options to pass to the association object for loading the records.
Parameters
array<string, mixed>$config-
The value to set.
Returns
$thistargetProperty() public
targetProperty(): string|null
The property name where the result of this association should be nested at the end.
For example, in the following nested property:
$article->author->company->country
The target property of country will be just country
Returns
string|nullProperty Detail
$_aliasPath protected
A dotted separated string representing the path of associations that should be followed to fetch this level.
Type
string$_associations protected
A list of other associations to load from this level.
Type
arrayCake\ORM\EagerLoadable>$_canBeJoined protected
Whether this level can be fetched using a join.
Type
bool$_config protected
A list of options to pass to the association object for loading the records.
Type
array<string, mixed>$_forMatching protected
Whether this level was meant for a "matching" fetch operation
Type
bool|null$_instance protected
The Association class instance to use for loading the records.
Type
Cake\ORM\Association|null$_name protected
The name of the association to load.
Type
string$_propertyPath protected
A dotted separated string representing the path of entity properties in which results for this level should be placed.
For example, in the following nested property:
$article->author->company->country
The property path of country will be author.company
Type
string|null$_targetProperty protected
The property name where the association result should be nested in the result.
For example, in the following nested property:
$article->author->company->country
The target property of country will be just country
Type
string|null© 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.EagerLoadable.html