Я использую OnDemandCollection с Propel, вызывая
->setFormatter(ModelCriteria::FORMAT_ON_DEMAND)
на мой запрос.
Это замечательно, так как может обработать столько результатов, сколько необходимо (до 200 000 проверенных). Однако мне нужно получить количество результатов.
Полученная коллекция Propel имеет размер -1 (вероятно, потому что каждая строка загружается по требованию), поэтому я попытался
count($collection)
$collection->count()
$ite_cloned = clone $collection->getIterator()
iterator_count($ite_cloned)
Но никто не вернул мне счет.
Вы не должны использовать count
на эту коллекцию, поскольку это по требованию, и это будет невероятно медленно. Лучше использовать объект запроса и запустить ->count()
в теме.
Других решений пока нет …