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
string
A 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
bool
Whether or not this level can be fetched using a join.
- $_config protected
array
A list of options to pass to the association object for loading the records.
- $_forMatching protected
bool|null
Whether or not 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
- 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()
- getConfig() public
Gets the list of options to pass to the association object 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.
- 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()
Handles cloning eager loadables.
__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
string
asContainArray() public
asContainArray()
Returns a representation of this object that can be passed to Cake\ORM\EagerLoader::contain()
Returns
array
associations() 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
bool
forMatching() public
forMatching()
Gets whether or not this level was meant for a "matching" fetch operation.
Returns
bool|null
getConfig() public
getConfig()
Gets the list of options to pass to the association object for loading the records.
Returns
array
instance() public
instance()
Gets the Association class instance to use for loading the records.
Returns
\Cake\ORM\Association
Throws
RuntimeException
propertyPath() 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|null
setCanBeJoined() public
setCanBeJoined(bool $possible)
Sets whether or not this level can be fetched using a join.
Parameters
-
bool
$possible The value to set.
Returns
$this
setConfig() 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
$this
targetProperty() 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|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
\Cake\ORM\EagerLoadable[]
$_canBeJoined protected
Whether or not 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
$_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
$_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.1/class-Cake.ORM.EagerLoadable.html