Абстрактный класс Phalcon\Mvc\Model\Resultset

Реализует Phalcon\Mvc\Model\ResultsetInterface, Iterator, Traversable, SeekableIterator, Countable, ArrayAccess, Serializable, JsonSerializable

Source on GitHub

Этот компонент позволяет Phalcon\Mvc\Model возвращать большие результирующие объекты с минимальным потреблением памяти. Результирующие наборы могут быть пройдены с использованием стандартного foreach или while. Если сериализуется набор результатов, он будет выгружать все строки в большой массив. Затем unserialize будет извлекать строки так, как они были до сериализации.

<?php

// Использование стандартного foreach
$robots = Robots::find(
    [
        "type = 'virtual'",
        "order" => "name",
    ]
);

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

// Используя while
$robots = Robots::find(
    [
        "type = 'virtual'",
        "order" => "name",
    ]
);

$robots->rewind();

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

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

    $robots->next();
}

Константы

integer TYPE_RESULT_FULL

integer TYPE_RESULT_PARTIAL

integer HYDRATE_RECORDS

integer HYDRATE_OBJECTS

integer HYDRATE_ARRAYS

Методы

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

Phalcon\Mvc\Model\Resultset конструктор

public next ()

Перемещение курсора на следующую строку в результирующем наборе

public valid ()

Проверка наличия строк для выборки во внутреннем ресурсе

public key ()

Возвращает номер указателя активной строки в результирующем наборе

final public rewind ()

Перематывает набор в его начало

final public seek (mixed $position)

Изменяет внутренний указатель на определенную позицию в результирующем наборе при необходимости установить новую позицию и установить this->_row

final public count ()

Подсчитывает количество строк в результирующем наборе

public offsetExists (mixed $index)

Проверяет, существует ли смещение в результирующем наборе

public offsetGet (mixed $index)

Получает строку в определенной позиции в результирующем наборе

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

Результирующие наборы нельзя изменить. Он был реализован только для соответствия определению интерфейса ArrayAccess

public offsetUnset (mixed $offset)

Результирующие наборы нельзя изменить. Он был реализован только для соответствия определению интерфейса ArrayAccess

public getType ()

Возвращает внутренний тип извлечения данных, используемый результирующим набором

public getFirst ()

Получить первую строку в результирующем наборе

public getLast ()

Получить последнюю строку в результирующем наборе

public setIsFresh (mixed $isFresh)

Установить признак - результирующий набор свежий или старый закэшированный

public isFresh ()

Проверить признак - результирующий набор, если свежий или старый кэшируется

public setHydrateMode (mixed $hydrateMode)

Устанавливает режим гидратации в результирующий набор

public getHydrateMode ()

Возвращает текущий режим гидратации

public getCache ()

Возвращает связанный кэш для результирующего набора

public getMessages ()

Возвращает сообщения об ошибках, созданные пакетной операцией

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

Обновление каждой записи в результирующем наборе

public delete ([Closure $conditionCallback])

Удаляет все записи в результирующем наборе

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

Фильтрует набор результатов, возвращающий только те, которые требуется разработчику

<?php

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

public array jsonSerialize ()

Возвращает сериализованные объекты модели как массив для json_encode. Вызывает jsonSerialize для каждого объекта, если он присутствует

<?php

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

abstract public toArray () наследуется от Phalcon\Mvc\Model\ResultsetInterface

...

abstract public current () наследуется от Iterator

...

abstract public serialize () наследуется от Serializable

...

abstract public unserialize (mixed $serialized) наследуется от Serializable

...