sql >> Base de Datos >  >> RDS >> Mysql

Este resultado es un conjunto de resultados solo hacia adelante, llamar a rebobinar () después de avanzar no es compatible - Zend

Recibe esta Exception porque este es el comportamiento esperado. Zend usa PDO para obtener su Zend\Db\ResultSet\Resultset que es devuelto por Zend\Db\TableGateway\TableGateway . Los conjuntos de resultados de PDO utilizan un cursor de solo avance de forma predeterminada, lo que significa que solo puede recorrer el conjunto una vez.

Para obtener más información sobre los cursores, consulte Wikipedia y esto artículo.

Como Zend\Db\ResultSet\Resultset implementa PHP Iterator puede extraer una matriz del conjunto utilizando Zend\Db\ResultSet\Resultset:toArray() método o usando el iterator_to_array() función. ¡Sin embargo, tenga cuidado al usar esta función en conjuntos de datos potencialmente grandes! Una de las mejores cosas de los cursores es precisamente que evitan traer todo de una sola vez, en caso de que el conjunto de datos sea demasiado grande, por lo que hay momentos en los que no querrá ponerlo todo en una matriz a la vez.