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.
Properties 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
bool|nullWhether or not 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
-
__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 or not this level can be fetched using a join.
-
forMatching() public
Gets whether or not 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 or not 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
__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)
Adds a new association to be loaded from this level.
Parameters
-
string$name The association name.
-
\Cake\ORM\EagerLoadable$association The association to load.
aliasPath() public ¶
aliasPath()
Gets a dot separated string representing the path of associations that should be followed to fetch this level.
Returns
stringasContainArray() public ¶
asContainArray()
Returns a representation of this object that can be passed to Cake\ORM\EagerLoader::contain()
Returns
arrayassociations() public ¶
associations()
Returns the Association class instance to use for loading the records.
Returns
\Cake\ORM\EagerLoadable[]canBeJoined() public ¶
canBeJoined()
Gets whether or not this level can be fetched using a join.
Returns
boolforMatching() public ¶
forMatching()
Gets whether or not this level was meant for a "matching" fetch operation.
Returns
bool|nullgetConfig() public ¶
getConfig()
Gets the list of options to pass to the association object for loading the records.
Returns
arrayinstance() public ¶
instance()
Gets the Association class instance to use for loading the records.
Returns
\Cake\ORM\AssociationThrows
RuntimeExceptionpropertyPath() public ¶
propertyPath()
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)
Sets whether or not this level can be fetched using a join.
Parameters
-
bool$possible The value to set.
Returns
$thissetConfig() public ¶
setConfig(array $config)
Sets the list of options to pass to the association object for loading the records.
Parameters
-
array$config The value to set.
Returns
$thistargetProperty() public ¶
targetProperty()
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|null$_instance ¶ protected
The Association class instance to use for loading the records.
Type
\Cake\ORM\Association|null$_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