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
-
__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
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[]
$_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