Используя Propel ORM, мне нужно проанализировать очень большой набор результатов базы данных, чтобы отобразить его и экспортировать в CSV.
Сегодня я получаю фатальные ошибки, такие как Fatal error: Allowed memory size of 134217728 bytes exhausted
от моего однорангового объекта (размер для разбора может составлять до 800 000 предметов).
Поэтому я попытался использовать формат по требованию, который гидратируется на лету (предполагается, что он не потребляет память) с помощью:
->setFormatter(ModelCriteria::FORMAT_ON_DEMAND)
Хорошо работает в режиме только PHP, но при использовании Twig ничего не отображается (без ошибок в журнале)
Я думаю, что с форматом по требованию, результирующий объект не может быть использован Twig (например, count($result_list)
возвращает -1, что обычно невозможно) … Вероятно, реализация ветки «for» отличается от «foreach», который следует использовать.
Задача ещё не решена.
Других решений пока нет …