Ricevi questa Exception
perché questo è il comportamento previsto. Zend utilizza DOP
per ottenere il suo Zend\Db\ResultSet\Resultset
che viene restituito da Zend\Db\TableGateway\TableGateway
. I set di risultati PDO utilizzano un cursore solo in avanti per impostazione predefinita, il che significa che puoi scorrere il set solo una volta.
Per ulteriori informazioni sui cursori, controlla Wikipedia e questo articolo.
Come Zend\Db\ResultSet\Resultset
implementa il PHP Iterator
puoi estrarre un array del set usando Zend\Db\ResultSet\Resultset:toArray()
o usando iterator_to_array()
funzione. Fai attenzione però a usare questa funzione su set di dati potenzialmente grandi! Una delle cose migliori dei cursori è proprio che evitano di inserire tutto in una volta, nel caso in cui il set di dati sia troppo grande, quindi ci sono momenti in cui non vorrai metterlo tutto in una volta in una volta.