Otrzymujesz ten Exception ponieważ jest to oczekiwane zachowanie. Zend używa PDO
aby uzyskać jego Zend\Db\ResultSet\Resultset który jest zwracany przez Zend\Db\TableGateway\TableGateway . Zestawy wyników PDO domyślnie używają kursora tylko do przodu, co oznacza, że możesz przejść przez zestaw tylko raz.
Więcej informacji o kursorach znajdziesz w Wikipedii i to artykuł.
Jako Zend\Db\ResultSet\Resultset implementuje PHP Iterator
możesz wyodrębnić tablicę zestawu za pomocą Zend\Db\ResultSet\Resultset:toArray() lub za pomocą iterator_to_array() funkcjonować. Uważaj jednak na używanie tej funkcji na potencjalnie dużych zbiorach danych! Jedną z najlepszych rzeczy w kursorach jest właśnie to, że unikają wprowadzania wszystkiego za jednym razem, w przypadku gdy zestaw danych jest zbyt duży, więc zdarzają się sytuacje, w których nie chcesz umieszczać ich wszystkich naraz w tablicy.