Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Este resultado é um conjunto de resultados somente para frente, chamar rewind() depois de avançar não é suportado - Zend


Você recebe esta Exception porque este é o comportamento esperado. Zend usa PDO para obter seu Zend\Db\ResultSet\Resultset que é retornado por Zend\Db\TableGateway\TableGateway . Os conjuntos de resultados PDO usam um cursor somente para frente por padrão, o que significa que você só pode percorrer o conjunto uma vez.

Para obter mais informações sobre cursores, consulte Wikipedia e isto artigo.

Como o Zend\Db\ResultSet\Resultset implementa o PHP Iterator você pode extrair uma matriz do conjunto usando o Zend\Db\ResultSet\Resultset:toArray() método ou usando o iterator_to_array() função. Tenha cuidado ao usar esta função em conjuntos de dados potencialmente grandes! Uma das melhores coisas sobre os cursores é justamente que eles evitam trazer tudo de uma vez, caso o conjunto de dados seja muito grande, então há momentos em que você não vai querer colocar tudo em um array de uma só vez.