Размер коллекции Propel On Demand

Я использую OnDemandCollection с Propel, вызывая

->setFormatter(ModelCriteria::FORMAT_ON_DEMAND)

на мой запрос.

Это замечательно, так как может обработать столько результатов, сколько необходимо (до 200 000 проверенных). Однако мне нужно получить количество результатов.

Полученная коллекция Propel имеет размер -1 (вероятно, потому что каждая строка загружается по требованию), поэтому я попытался

count($collection)
$collection->count()
$ite_cloned = clone $collection->getIterator()
iterator_count($ite_cloned)

Но никто не вернул мне счет.

1

Решение

Вы не должны использовать count на эту коллекцию, поскольку это по требованию, и это будет невероятно медленно. Лучше использовать объект запроса и запустить ->count() в теме.

3

Другие решения

Других решений пока нет …