Проблема РЕШЕНО и это не было связано с PDO, но проблема связана с Symfony (один из OutputDecorator, я думаю, но пока не знаю точно)
PDOStatement был действителен, и при циклическом прохождении с ->fetch
внутри контроллера все было в порядке (получено 14 записей). После перемещения одного и того же кода для просмотра первая запись всегда исключалась из результатов (и я думаю, что это связано с тем, что выходные декораторы используют Iterator и ArrayAccess).
Быстрый обходной путь для этой проблемы - НЕ использовать while loop
, а использовать реализованные Iterator
и ArrayAccess
, поэтому в конечном коде, который работает как ожидается (возвращает все строки), используется foreach
<?php foreach ($stats as $v): ?>
<?php //do stuff with record ?>
<?php endforeach; ?>
insted из while
+ ->fetch()
loop
<?php while ($v = $stats->fetch()): ?>
<?php //1st record is missing here somehow ?>
<?php endwhile; ?>