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
Cake\Orm\EagerLoadable[]A list of other associations to load from this level.
-
$_canBeJoined protected
boolWhether or not this level can be fetched using a join.
-
$_config protected
arrayA list of options to pass to the association object for loading the records.
-
$_forMatching protected
boolWhether or not this level was meant for a "matching" fetch operation
-
$_instance protected
Cake\ORM\AssociationThe Association class instance to use for loading the records.
-
$_name protected
stringThe name of the association to load.
-
$_propertyPath protected
stringA dotted separated string representing the path of entity properties in which results for this level should be placed.
-
$_targetProperty protected
stringThe property name where the association result should be nested in the result.
Method Summary
-
__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
Sets whether or not this level can be fetched using a join.
-
config() public
Sets the list of options to pass to the association object for loading the records.
-
forMatching() public
Gets whether or not this level was meant for a "matching" fetch operation.
-
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.
-
targetProperty() public
The property name where the result of this association should be nested at the end.
Method Detail
__construct() ¶ public
__construct(string $name, array $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$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|null
Gets a dot separated string representing the path of associations that should be followed to fetch this level.
Returns
string|nullasContainArray() ¶ public
asContainArray(): array
Returns a representation of this object that can be passed to Cake\ORM\EagerLoader::contain()
Returns
arrayassociations() ¶ public
associations(): array
Returns the Association class instance to use for loading the records.
Returns
arraycanBeJoined() ¶ public
canBeJoined(bool|null $possible = null): bool
Sets whether or not this level can be fetched using a join.
If called with no arguments it returns the current value.
Parameters
-
bool|null$possible optional The value to set.
Returns
boolconfig() ¶ public
config(array|null $config = null): array
Sets the list of options to pass to the association object for loading the records.
If called with no arguments it returns the current value.
Parameters
-
array|null$config optional The value to set.
Returns
arrayforMatching() ¶ public
forMatching(): bool|null
Gets whether or not this level was meant for a "matching" fetch operation.
Returns
bool|nullinstance() ¶ public
instance(): Cake\ORM\Association|null
Gets the Association class instance to use for loading the records.
Returns
Cake\ORM\Association|nullpropertyPath() ¶ 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|nulltargetProperty() ¶ 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
Cake\Orm\EagerLoadable[]$_config ¶ protected
A list of options to pass to the association object for loading the records.
Type
array$_forMatching ¶ protected
Whether or not this level was meant for a "matching" fetch operation
Type
bool$_instance ¶ protected
The Association class instance to use for loading the records.
Type
Cake\ORM\Association$_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$_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