Du modtager denne Exception
fordi dette er forventet adfærd. Zend bruger PDO
for at få dets Zend\Db\ResultSet\Resultset
som returneres af Zend\Db\TableGateway\TableGateway
. PDO-resultatsæt bruger som standard en fremadgående cursor, hvilket betyder, at du kun kan gå gennem sættet én gang.
For mere information om markører, se Wikipedia og dette artikel.
Som Zend\Db\ResultSet\Resultset
implementerer PHP Iterator
du kan udtrække et array af sættet ved hjælp af Zend\Db\ResultSet\Resultset:toArray()
metode eller ved at bruge iterator_to_array()
fungere. Vær dog forsigtig med at bruge denne funktion på potentielt store datasæt! En af de bedste ting ved markører er netop, at de undgår at bringe alt ind på én gang, hvis datasættet er for stort, så der er tidspunkter, hvor du ikke vil lægge det hele ind i et array på én gang.