sql >> Databasteknik >  >> RDS >> Mysql

Det här resultatet är en resultatuppsättning endast framåt, att anropa rewind() efter att ha gått framåt stöds inte - Zend

Du får detta Exception eftersom detta är förväntat beteende. Zend använder PDO för att få dess Zend\Db\ResultSet\Resultset som returneras av Zend\Db\TableGateway\TableGateway . PDO-resultatuppsättningar använder som standard en framåtriktad markör, vilket innebär att du bara kan gå igenom uppsättningen en gång.

För mer information om markörer kolla Wikipedia och det här artikel.

Som Zend\Db\ResultSet\Resultset implementerar PHP Iterator du kan extrahera en array av uppsättningen med hjälp av Zend\Db\ResultSet\Resultset:toArray() metod eller med iterator_to_array() fungera. Var dock försiktig med att använda den här funktionen på potentiellt stora datamängder! En av de bästa sakerna med markörer är just att de undviker att få in allt på en gång, ifall datamängden är för stor, så det finns tillfällen då du inte vill lägga allt i en array på en gång.



  1. JSON_VALUE() Funktion i Oracle

  2. MySQL pid slutade (kan inte starta mysql)

  3. SQL NOT IN fungerar inte

  4. Prestandarelaterade korrigeringar för SQL Server 2012