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.