Получавате това Exception
защото това е очаквано поведение. Zend използва PDO
за да получите неговия Zend\Db\ResultSet\Resultset
което се връща от Zend\Db\TableGateway\TableGateway
. PDO резултатните набори използват курсор само напред по подразбиране, което означава, че можете да преминете през набора само веднъж.
За повече информация относно курсорите проверете Уикипедия и това статия.
Като Zend\Db\ResultSet\Resultset
внедрява PHP Iterator
можете да извлечете масив от набора с помощта на Zend\Db\ResultSet\Resultset:toArray()
метод или с помощта на iterator_to_array()
функция. Бъдете внимателни при използването на тази функция за потенциално големи масиви от данни! Едно от най-добрите неща за курсорите е точно, че избягват да въвеждат всичко наведнъж, в случай че наборът от данни е твърде голям, така че има моменти, когато няма да искате да поставите всичко в масив наведнъж.