Защото така е проектиран API с мисъл за гъвкавостта.
Вашият обект не съдържа всички набори от данни. Вместо това PDOStatement
внедрява Iterator
/Traversable
интерфейс, имплицитно извикващ ->fetch
за всеки foreach
операция.
Някои хора обаче предпочитат да използват ->fetch
ръчно или ->fetchAll
за изтегляне на всички редове наведнъж.