Class InsertIterator

This iterator will insert values into a property of each of the records returned. The values to be inserted come out of another traversal object. This is useful when you have two separate collections and want to merge them together by placing each of the values from one collection into a property inside the other collection.

IteratorIterator implements Iterator, Traversable, OuterIterator
Extended by Cake\Collection\Collection implements Cake\Collection\CollectionInterface, Serializable uses Cake\Collection\CollectionTrait
Extended by Cake\Collection\Iterator\InsertIterator

Method Detail

__constructsource public

__construct( array|Traversable $into , string $path , array|Traversable $values )

Constructs a new collection that will dynamically add properties to it out of the values found in $values.

Parameters

array|Traversable $into
The target collection to which the values will be inserted at the specified path.
string $path
A dot separated list of properties that need to be traversed to insert the value into the target collection.
array|Traversable $values
The source collection from which the values will be inserted at the specified path.

Throws

InvalidArgumentException
If passed incorrect type for items.

Overrides

Cake\Collection\Collection::__construct()

currentsource public

current( )

Returns the current element in the target collection after inserting the value from the source collection into the specified path.

Returns

mixed
mixed

nextsource public

next( )

Advances the cursor to the next record

rewindsource public

rewind( )

Resets the collection pointer.

Methods inherited from Cake\Collection\Collection

__debugInfosource public

__debugInfo( )

Returns an array that can be used to describe the internal state of this object.

Returns

array
array

countsource public

count( )

Throws an exception.

Issuing a count on a Collection can have many side effects, some making the Collection unusable after the count operation.

Throws

LogicException
\LogicException

serializesource public

serialize( )

Returns a string representation of this object that can be used to reconstruct it

Returns

string
string

Implementation of

Serializable::serialize()

unserializesource public

unserialize( string $collection )

Unserializes the passed string and rebuilds the Collection instance

Parameters

string $collection
The serialized collection

Implementation of

Serializable::unserialize()

Methods used from Cake\Collection\CollectionTrait

_unwrapsource public

_unwrap( )

Backwards compatible wrapper for unwrap()

Deprecated

Returns

Iterator
\Iterator

appendsource public

append( mixed $items )

Implementation of

Cake\Collection\CollectionInterface::append()

bufferedsource public

buffered( )

Returns

Cake\Collection\Iterator\BufferedIterator
\Cake\Collection\Iterator\BufferedIterator

Implementation of

Cake\Collection\CollectionInterface::buffered()

chunksource public

chunk( mixed $chunkSize )

Implementation of

Cake\Collection\CollectionInterface::chunk()

combinesource public

combine( mixed $keyPath , mixed $valuePath , mixed $groupPath null )

Implementation of

Cake\Collection\CollectionInterface::combine()

compilesource public

compile( mixed $preserveKeys true )

Implementation of

Cake\Collection\CollectionInterface::compile()

containssource public

contains( mixed $value )

Implementation of

Cake\Collection\CollectionInterface::contains()

countBysource public

countBy( mixed $callback )

Implementation of

Cake\Collection\CollectionInterface::countBy()

eachsource public

each( callable $c )

Implementation of

Cake\Collection\CollectionInterface::each()

everysource public

every( callable $c )

Implementation of

Cake\Collection\CollectionInterface::every()

extractsource public

extract( mixed $matcher )

Implementation of

Cake\Collection\CollectionInterface::extract()

filtersource public

filter( callable $c null )

Returns

Cake\Collection\Iterator\FilterIterator
\Cake\Collection\Iterator\FilterIterator

Implementation of

Cake\Collection\CollectionInterface::filter()

firstsource public

first( )

Implementation of

Cake\Collection\CollectionInterface::first()

firstMatchsource public

firstMatch( array $conditions )

Implementation of

Cake\Collection\CollectionInterface::firstMatch()

groupBysource public

groupBy( mixed $callback )

Implementation of

Cake\Collection\CollectionInterface::groupBy()

indexBysource public

indexBy( mixed $callback )

Implementation of

Cake\Collection\CollectionInterface::indexBy()

insertsource public

insert( mixed $path , mixed $values )

Returns

Cake\Collection\Iterator\InsertIterator
\Cake\Collection\Iterator\InsertIterator

Implementation of

Cake\Collection\CollectionInterface::insert()

isEmptysource public

isEmpty( )

Implementation of

Cake\Collection\CollectionInterface::isEmpty()

jsonSerializesource public

jsonSerialize( )

Implementation of

Cake\Collection\CollectionInterface::jsonSerialize()

lastsource public

last( )

Implementation of

Cake\Collection\CollectionInterface::last()

listNestedsource public

listNested( mixed $dir 'desc' , mixed $nestingKey 'children' )

Returns

Cake\Collection\Iterator\TreeIterator
\Cake\Collection\Iterator\TreeIterator

Implementation of

Cake\Collection\CollectionInterface::listNested()

mapsource public

map( callable $c )

Returns

Cake\Collection\Iterator\ReplaceIterator
\Cake\Collection\Iterator\ReplaceIterator

Implementation of

Cake\Collection\CollectionInterface::map()

matchsource public

match( array $conditions )

Implementation of

Cake\Collection\CollectionInterface::match()

maxsource public

max( mixed $callback , mixed $type SORT_NUMERIC )

Implementation of

Cake\Collection\CollectionInterface::max()

minsource public

min( mixed $callback , mixed $type SORT_NUMERIC )

Implementation of

Cake\Collection\CollectionInterface::min()

nestsource public

nest( mixed $idPath , mixed $parentPath )

Implementation of

Cake\Collection\CollectionInterface::nest()

reducesource public

reduce( callable $c , mixed $zero null )

Implementation of

Cake\Collection\CollectionInterface::reduce()

rejectsource public

reject( callable $c )

Returns

Cake\Collection\Iterator\FilterIterator
\Cake\Collection\Iterator\FilterIterator

Implementation of

Cake\Collection\CollectionInterface::reject()

samplesource public

sample( mixed $size 10 )

Implementation of

Cake\Collection\CollectionInterface::sample()

shufflesource public

shuffle( )

Implementation of

Cake\Collection\CollectionInterface::shuffle()

skipsource public

skip( mixed $howMany )

Implementation of

Cake\Collection\CollectionInterface::skip()

somesource public

some( callable $c )

Implementation of

Cake\Collection\CollectionInterface::some()

sortBysource public

sortBy( mixed $callback , mixed $dir SORT_DESC , mixed $type SORT_NUMERIC )

Implementation of

Cake\Collection\CollectionInterface::sortBy()

stopWhensource public

stopWhen( mixed $condition )

Returns

Cake\Collection\Iterator\StoppableIterator
\Cake\Collection\Iterator\StoppableIterator

Implementation of

Cake\Collection\CollectionInterface::stopWhen()

sumOfsource public

sumOf( mixed $matcher null )

Implementation of

Cake\Collection\CollectionInterface::sumOf()

takesource public

take( mixed $size 1 , mixed $from 0 )

Implementation of

Cake\Collection\CollectionInterface::take()

throughsource public

through( callable $handler )

Implementation of

Cake\Collection\CollectionInterface::through()

toArraysource public

toArray( mixed $preserveKeys true )

Implementation of

Cake\Collection\CollectionInterface::toArray()

toListsource public

toList( )

Implementation of

Cake\Collection\CollectionInterface::toList()

unfoldsource public

unfold( callable $transformer null )

Implementation of

Cake\Collection\CollectionInterface::unfold()

unwrapsource public

unwrap( )

Implementation of

Cake\Collection\CollectionInterface::unwrap()

zipsource public

zip( mixed $items )

Implementation of

Cake\Collection\CollectionInterface::zip()

zipWithsource public

zipWith( mixed $items , mixed $callable )

Implementation of

Cake\Collection\CollectionInterface::zipWith()

Methods used from Cake\Collection\ExtractTrait

_createMatcherFiltersource protected

_createMatcherFilter( array $conditions )

Returns a callable that receives a value and will return whether or not it matches certain condition.

Parameters

array $conditions
A key-value list of conditions to match where the key is the property path to get from the current item and the value is the value to be compared the item with.

Returns

callable
callable

_extractsource protected

_extract( array|ArrayAccess $data , array $path )

Returns a column from $data that can be extracted by iterating over the column names contained in $path. It will return arrays for elements in represented with {*}

Parameters

array|ArrayAccess $data
Data.
array $path
Path to extract from.

Returns

mixed
mixed

_propertyExtractorsource protected

_propertyExtractor( string|callable $callback )

Returns a callable that can be used to extract a property or column from an array or object based on a dot separated path.

Parameters

string|callable $callback
A dot separated path of column to follow so that the final one can be returned or a callable that will take care of doing that.

Returns

callable
callable

_simpleExtractsource protected

_simpleExtract( array|ArrayAccess $data , array $path )

Returns a column from $data that can be extracted by iterating over the column names contained in $path

Parameters

array|ArrayAccess $data
Data.
array $path
Path to extract from.

Returns

mixed
mixed

Properties summary

$_pathsource

protected array

An array containing each of the properties to be traversed to reach the point where the values should be inserted.

$_targetsource

protected string

The property name to which values will be assigned

$_validValuessource

protected boolean

Holds whether the values collection is still valid. (has more records)

true

$_valuessource

protected Cake\Collection\Collection

The collection from which to extract the values to be inserted

© 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.Collection.Iterator.InsertIterator.html