Mysql
 sql >> Database >  >> RDS >> Mysql

Questo risultato è un set di risultati solo in avanti, la chiamata a rewind() dopo l'avanzamento non è supportata - Zend

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.