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
string
A 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
bool
Whether 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|null
Whether this level was meant for a "matching" fetch operation
-
$_instance protected
Cake\ORM\Association|null
The Association class instance to use for loading the records.
-
$_name protected
string
The name of the association to load.
-
$_propertyPath protected
string|null
A dotted separated string representing the path of entity properties in which results for this level should be placed.
-
$_targetProperty protected
string|null
The 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
void
aliasPath() public
aliasPath(): string
Gets a dot separated string representing the path of associations that should be followed to fetch this level.
Returns
string
asContainArray() 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
bool
forMatching() public
forMatching(): bool|null
Gets whether this level was meant for a "matching" fetch operation.
Returns
bool|null
getConfig() 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\Association
Throws
RuntimeException
propertyPath() 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|null
setCanBeJoined() public
setCanBeJoined(bool $possible): $this
Sets whether this level can be fetched using a join.
Parameters
bool
$possible-
The value to set.
Returns
$this
setConfig() 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
$this
targetProperty() 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|null
Property 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