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.