Skip to content

Abstract class Phalcon\Mvc\Model\Resultset

implements Phalcon\Mvc\Model\ResultsetInterface, Iterator, Traversable, SeekableIterator, Countable, ArrayAccess, Serializable, JsonSerializable

Source on GitHub

This component allows to Phalcon\Mvc\Model returns large resultsets with the minimum memory consumption Resultsets can be traversed using a standard foreach or a while statement. If a resultset is serialized it will dump all the rows into a big array. Then unserialize will retrieve the rows as they were before serializing.

<?php

// Using a standard foreach
$robots = Robots::find(
    [
        "type = 'virtual'",
        "order" => "name",
    ]
);

foreach ($robots as robot) {
    echo robot->name, "\n";
}

// Using a while
$robots = Robots::find(
    [
        "type = 'virtual'",
        "order" => "name",
    ]
);

$robots->rewind();

while ($robots->valid()) {
    $robot = $robots->current();

    echo $robot->name, "\n";

    $robots->next();
}

Constants

integer TYPE_RESULT_FULL

integer TYPE_RESULT_PARTIAL

integer HYDRATE_RECORDS

integer HYDRATE_OBJECTS

integer HYDRATE_ARRAYS

Methods

public __construct (Phalcon\Db\ResultInterface | false $result, [Phalcon\Cache\BackendInterface $cache])

Phalcon\Mvc\Model\Resultset constructor

public next ()

Moves cursor to next row in the resultset

public valid ()

Check whether internal resource has rows to fetch

public key ()

Gets pointer number of active row in the resultset

final public rewind ()

Rewinds resultset to its beginning

final public seek (mixed $position)

Changes internal pointer to a specific position in the resultset Set new position if required and set this->_row

final public count ()

Counts how many rows are in the resultset

public offsetExists (mixed $index)

Checks whether offset exists in the resultset

public offsetGet (mixed $index)

Gets row in a specific position of the resultset

public offsetSet (int $index, Phalcon\Mvc\ModelInterface $value)

Resultsets cannot be changed. It has only been implemented to meet the definition of the ArrayAccess interface

public offsetUnset (mixed $offset)

Resultsets cannot be changed. It has only been implemented to meet the definition of the ArrayAccess interface

public getType ()

Returns the internal type of data retrieval that the resultset is using

public getFirst ()

Get first row in the resultset

public getLast ()

Get last row in the resultset

public setIsFresh (mixed $isFresh)

Set if the resultset is fresh or an old one cached

public isFresh ()

Tell if the resultset if fresh or an old one cached

public setHydrateMode (mixed $hydrateMode)

Sets the hydration mode in the resultset

public getHydrateMode ()

Returns the current hydration mode

public getCache ()

Returns the associated cache for the resultset

public getMessages ()

Returns the error messages produced by a batch operation

public boolean update (array $data, [Closure $conditionCallback])

Updates every record in the resultset

public delete ([Closure $conditionCallback])

Deletes every record in the resultset

public Phalcon\Mvc\Model filter (callback $filter)

Filters a resultset returning only those the developer requires

<?php

$filtered = $robots->filter(
    function ($robot) {
        if ($robot->id < 3) {
            return $robot;
        }
    }
);

public array jsonSerialize ()

Returns serialised model objects as array for json_encode. Calls jsonSerialize on each object if present

<?php

$robots = Robots::find();
echo json_encode($robots);

abstract public toArray () inherited from Phalcon\Mvc\Model\ResultsetInterface

...

abstract public current () inherited from Iterator

...

abstract public serialize () inherited from Serializable

...

abstract public unserialize (mixed $serialized) inherited from Serializable

...


Class Phalcon\Mvc\Model\Resultset\Complex

extends abstract class Phalcon\Mvc\Model\Resultset

implements JsonSerializable, Serializable, ArrayAccess, Countable, SeekableIterator, Traversable, Iterator, Phalcon\Mvc\Model\ResultsetInterface

Source on GitHub

Complex resultsets may include complete objects and scalar values. This class builds every complex row as it is required

Constants

integer TYPE_RESULT_FULL

integer TYPE_RESULT_PARTIAL

integer HYDRATE_RECORDS

integer HYDRATE_OBJECTS

integer HYDRATE_ARRAYS

Methods

public __construct (array $columnTypes, [Phalcon\Db\ResultInterface $result], [Phalcon\Cache\BackendInterface $cache])

Phalcon\Mvc\Model\Resultset\Complex constructor

final public current ()

Returns current row in the resultset

public toArray ()

Returns a complete resultset as an array, if the resultset has a big number of rows it could consume more memory than currently it does.

public serialize ()

Serializing a resultset will dump all related rows into a big array

public unserialize (mixed $data)

Unserializing a resultset will allow to only works on the rows present in the saved state

public next () inherited from Phalcon\Mvc\Model\Resultset

Moves cursor to next row in the resultset

public valid () inherited from Phalcon\Mvc\Model\Resultset

Check whether internal resource has rows to fetch

public key () inherited from Phalcon\Mvc\Model\Resultset

Gets pointer number of active row in the resultset

final public rewind () inherited from Phalcon\Mvc\Model\Resultset

Rewinds resultset to its beginning

final public seek (mixed $position) inherited from Phalcon\Mvc\Model\Resultset

Changes internal pointer to a specific position in the resultset Set new position if required and set this->_row

final public count () inherited from Phalcon\Mvc\Model\Resultset

Counts how many rows are in the resultset

public offsetExists (mixed $index) inherited from Phalcon\Mvc\Model\Resultset

Checks whether offset exists in the resultset

public offsetGet (mixed $index) inherited from Phalcon\Mvc\Model\Resultset

Gets row in a specific position of the resultset

public offsetSet (int $index, Phalcon\Mvc\ModelInterface $value) inherited from Phalcon\Mvc\Model\Resultset

Resultsets cannot be changed. It has only been implemented to meet the definition of the ArrayAccess interface

public offsetUnset (mixed $offset) inherited from Phalcon\Mvc\Model\Resultset

Resultsets cannot be changed. It has only been implemented to meet the definition of the ArrayAccess interface

public getType () inherited from Phalcon\Mvc\Model\Resultset

Returns the internal type of data retrieval that the resultset is using

public getFirst () inherited from Phalcon\Mvc\Model\Resultset

Get first row in the resultset

public getLast () inherited from Phalcon\Mvc\Model\Resultset

Get last row in the resultset

public setIsFresh (mixed $isFresh) inherited from Phalcon\Mvc\Model\Resultset

Set if the resultset is fresh or an old one cached

public isFresh () inherited from Phalcon\Mvc\Model\Resultset

Tell if the resultset if fresh or an old one cached

public setHydrateMode (mixed $hydrateMode) inherited from Phalcon\Mvc\Model\Resultset

Sets the hydration mode in the resultset

public getHydrateMode () inherited from Phalcon\Mvc\Model\Resultset

Returns the current hydration mode

public getCache () inherited from Phalcon\Mvc\Model\Resultset

Returns the associated cache for the resultset

public getMessages () inherited from Phalcon\Mvc\Model\Resultset

Returns the error messages produced by a batch operation

public boolean update (array $data, [Closure $conditionCallback]) inherited from Phalcon\Mvc\Model\Resultset

Updates every record in the resultset

public delete ([Closure $conditionCallback]) inherited from Phalcon\Mvc\Model\Resultset

Deletes every record in the resultset

public Phalcon\Mvc\Model filter (callback $filter) inherited from Phalcon\Mvc\Model\Resultset

Filters a resultset returning only those the developer requires

<?php

$filtered = $robots->filter(
    function ($robot) {
        if ($robot->id < 3) {
            return $robot;
        }
    }
);

public array jsonSerialize () inherited from Phalcon\Mvc\Model\Resultset

Returns serialised model objects as array for json_encode. Calls jsonSerialize on each object if present

<?php

$robots = Robots::find();
echo json_encode($robots);

Class Phalcon\Mvc\Model\Resultset\Simple

extends abstract class Phalcon\Mvc\Model\Resultset

implements JsonSerializable, Serializable, ArrayAccess, Countable, SeekableIterator, Traversable, Iterator, Phalcon\Mvc\Model\ResultsetInterface

Source on GitHub

Simple resultsets only contains a complete objects This class builds every complete object as it is required

Constants

integer TYPE_RESULT_FULL

integer TYPE_RESULT_PARTIAL

integer HYDRATE_RECORDS

integer HYDRATE_OBJECTS

integer HYDRATE_ARRAYS

Methods

public __construct (array $columnMap, Phalcon\Mvc\ModelInterface | Phalcon\Mvc\Model\Row $model, Phalcon\Db\Result\Pdo | null $result, [Phalcon\Cache\BackendInterface $cache], [boolean $keepSnapshots])

Phalcon\Mvc\Model\Resultset\Simple constructor

final public current ()

Returns current row in the resultset

public toArray ([mixed $renameColumns])

Returns a complete resultset as an array, if the resultset has a big number of rows it could consume more memory than currently it does. Export the resultset to an array couldn't be faster with a large number of records

public serialize ()

Serializing a resultset will dump all related rows into a big array

public unserialize (mixed $data)

Unserializing a resultset will allow to only works on the rows present in the saved state

public next () inherited from Phalcon\Mvc\Model\Resultset

Moves cursor to next row in the resultset

public valid () inherited from Phalcon\Mvc\Model\Resultset

Check whether internal resource has rows to fetch

public key () inherited from Phalcon\Mvc\Model\Resultset

Gets pointer number of active row in the resultset

final public rewind () inherited from Phalcon\Mvc\Model\Resultset

Rewinds resultset to its beginning

final public seek (mixed $position) inherited from Phalcon\Mvc\Model\Resultset

Changes the internal pointer to a specific position in the resultset. Set the new position if required, and then set this->_row

final public count () inherited from Phalcon\Mvc\Model\Resultset

Counts how many rows are in the resultset

public offsetExists (mixed $index) inherited from Phalcon\Mvc\Model\Resultset

Checks whether offset exists in the resultset

public offsetGet (mixed $index) inherited from Phalcon\Mvc\Model\Resultset

Gets row in a specific position of the resultset

public offsetSet (int $index, Phalcon\Mvc\ModelInterface $value) inherited from Phalcon\Mvc\Model\Resultset

Resultsets cannot be changed. It has only been implemented to meet the definition of the ArrayAccess interface

public offsetUnset (mixed $offset) inherited from Phalcon\Mvc\Model\Resultset

Resultsets cannot be changed. It has only been implemented to meet the definition of the ArrayAccess interface

public getType () inherited from Phalcon\Mvc\Model\Resultset

Returns the internal type of data retrieval that the resultset is using

public getFirst () inherited from Phalcon\Mvc\Model\Resultset

Get first row in the resultset

public getLast () inherited from Phalcon\Mvc\Model\Resultset

Get last row in the resultset

public setIsFresh (mixed $isFresh) inherited from Phalcon\Mvc\Model\Resultset

Set if the resultset is fresh or an old one cached

public isFresh () inherited from Phalcon\Mvc\Model\Resultset

Tell if the resultset if fresh or an old one cached

public setHydrateMode (mixed $hydrateMode) inherited from Phalcon\Mvc\Model\Resultset

Sets the hydration mode in the resultset

public getHydrateMode () inherited from Phalcon\Mvc\Model\Resultset

Returns the current hydration mode

public getCache () inherited from Phalcon\Mvc\Model\Resultset

Returns the associated cache for the resultset

public getMessages () inherited from Phalcon\Mvc\Model\Resultset

Returns the error messages produced by a batch operation

public boolean update (array $data, [Closure $conditionCallback]) inherited from Phalcon\Mvc\Model\Resultset

Updates every record in the resultset

public delete ([Closure $conditionCallback]) inherited from Phalcon\Mvc\Model\Resultset

Deletes every record in the resultset

public Phalcon\Mvc\Model filter (callback $filter) inherited from Phalcon\Mvc\Model\Resultset

Filters a resultset returning only those the developer requires

<?php

$filtered = $robots->filter(
    function ($robot) {
        if ($robot->id < 3) {
            return $robot;
        }
    }
);

public array jsonSerialize () inherited from Phalcon\Mvc\Model\Resultset

Returns serialised model objects as array for json_encode. Calls jsonSerialize on each object if present

<?php

$robots = Robots::find();
echo json_encode($robots);

Interface Phalcon\Mvc\Model\ResultsetInterface

Source on GitHub

Methods

abstract public getType ()

...

abstract public getFirst ()

...

abstract public getLast ()

...

abstract public setIsFresh (mixed $isFresh)

...

abstract public isFresh ()

...

abstract public getCache ()

...

abstract public toArray ()

...