On this page
Class AssociationCollection
A container/collection for association classes.
Contains methods for managing associations, and ordering operations around saving and deleting.
- Cake\ORM\AssociationCollection implements IteratorAggregate uses Cake\ORM\AssociationsNormalizerTrait
Method Detail
_savesource protected
_save( Cake\ORM\Association $association , Cake\Datasource\EntityInterface $entity , array $nested , array $options )Helper method for saving an association's data.
Parameters
- Cake\ORM\Association- $association
- The association object to save with.
- Cake\Datasource\EntityInterface- $entity
- The entity to save
- 
     array $nested
- Options for deeper associations
- 
     array $options
- Original options
Returns
booleanSuccess
_saveAssociationssource protected
_saveAssociations( Cake\ORM\Table $table , Cake\Datasource\EntityInterface $entity , array $associations , array $options , boolean $owningSide )Helper method for saving an association's data.
Parameters
- Cake\ORM\Table- $table
- The table the save is currently operating on
- Cake\Datasource\EntityInterface- $entity
- The entity to save
- 
     array $associations
- Array of associations to save.
- 
     array $options
- Original options
- 
     boolean $owningSide
- Compared with association classes' isOwningSide method.
Returns
booleanSuccess
Throws
InvalidArgumentExceptionWhen an unknown alias is used.
addsource public
add( string $alias , Cake\ORM\Association $association )Add an association to the collection
If the alias added contains a . the part preceding the . will be dropped. This makes using plugins simpler as the Plugin.Class syntax is frequently used.
Parameters
- 
     string $alias
- The association alias
- Cake\ORM\Association- $association
- The association to add.
Returns
Cake\ORM\AssociationThe association object being added.
cascadeDeletesource public
cascadeDelete( Cake\Datasource\EntityInterface $entity , array $options )Cascade a delete across the various associations. Cascade first across associations for which cascadeCallbacks is true.
Parameters
- Cake\Datasource\EntityInterface- $entity
- The entity to delete associations for.
- 
     array $options
- The options used in the delete operation.
getsource public
get( string $alias )Fetch an attached association by name.
Parameters
- 
     string $alias
- The association alias to get.
Returns
Cake\ORM\Association|nullEither the association or null.
getByPropertysource public
getByProperty( string $prop )Fetch an association by property name.
Parameters
- 
     string $prop
- The property to find an association by.
Returns
Cake\ORM\Association|nullEither the association or null.
getIteratorsource public
getIterator( )Allow looping through the associations
Returns
ArrayIteratorArrayIterator
Implementation of
IteratorAggregate::getIterator()
  hassource public
has( string $alias )Check for an attached association by name.
Parameters
- 
     string $alias
- The association alias to get.
Returns
booleanWhether or not the association exists.
keyssource public
keys( )Get the names of all the associations in the collection.
Returns
arrayarray
normalizeKeyssource public
normalizeKeys( boolean|array $keys )Returns an associative array of association names out a mixed array. If true is passed, then it returns all association names in this collection.
Parameters
- 
     boolean|array $keys
- the list of association names to normalize
Returns
arrayarray
removesource public
remove( string $alias )Drop/remove an association.
Once removed the association will not longer be reachable
Parameters
- 
     string $alias
- The alias name.
removeAllsource public
removeAll( )Remove all registered associations.
Once removed associations will not longer be reachable
saveChildrensource public
saveChildren( Cake\ORM\Table $table , Cake\Datasource\EntityInterface $entity , array $associations , array $options )Save all the associations that are children of the given entity.
Child associations include any association where the given table is not the owning side.
Parameters
- Cake\ORM\Table- $table
- The table entity is for.
- Cake\Datasource\EntityInterface- $entity
- The entity to save associated data for.
- 
     array $associations
- The list of associations to save children from. associations not in this list will not be saved.
- 
     array $options
- The options for the save operation.
Returns
booleanSuccess
saveParentssource public
saveParents( Cake\ORM\Table $table , Cake\Datasource\EntityInterface $entity , array $associations , array $options [] )Save all the associations that are parents of the given entity.
Parent associations include any association where the given table is the owning side.
Parameters
- Cake\ORM\Table- $table
- The table entity is for.
- Cake\Datasource\EntityInterface- $entity
- The entity to save associated data for.
- 
     array $associations
- The list of associations to save parents from. associations not in this list will not be saved.
- 
     array $optionsoptional []
- The options for the save operation.
Returns
booleanSuccess
typesource public
type( string|array $class )Get an array of associations matching a specific type.
Parameters
- 
     string|array $class
- The type of associations you want. For example 'BelongsTo' or array like ['BelongsTo', 'HasOne']
Returns
arrayAn array of Association objects.
Methods used from Cake\ORM\AssociationsNormalizerTrait
_normalizeAssociationssource protected
_normalizeAssociations( array $associations )Returns an array out of the original passed associations list where dot notation is transformed into nested arrays so that they can be parsed by other routines
Parameters
- 
     array $associations
- The array of included associations.
Returns
arrayAn array having dot notation transformed into nested arrays
Properties summary
© 2005–2016 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.
 http://api.cakephp.org/3.1/class-Cake.ORM.AssociationCollection.html