Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Dieses Ergebnis ist eine Ergebnismenge nur für die Vorwärtsbewegung, das Aufrufen von rewind() nach der Vorwärtsbewegung wird nicht unterstützt - Zend

Sie erhalten diese Exception da dies ein erwartetes Verhalten ist. Zend verwendet PDO um sein Zend\Db\ResultSet\Resultset zu erhalten die von Zend\Db\TableGateway\TableGateway zurückgegeben wird . PDO-Ergebnissätze verwenden standardmäßig einen Vorwärts-Cursor, was bedeutet, dass Sie den Satz nur einmal durchlaufen können.

Weitere Informationen zu Cursorn finden Sie unter Wikipedia und dies Artikel.

Als Zend\Db\ResultSet\Resultset implementiert den PHP Iterator Sie können ein Array des Satzes mit Zend\Db\ResultSet\Resultset:toArray() extrahieren -Methode oder mithilfe von iterator_to_array() Funktion. Seien Sie jedoch vorsichtig, wenn Sie diese Funktion bei potenziell großen Datensätzen verwenden! Eines der besten Dinge an Cursorn ist genau, dass sie vermeiden, alles auf einmal einzugeben, falls der Datensatz zu groß ist, sodass es Zeiten gibt, in denen Sie nicht alles auf einmal in ein Array einfügen möchten.