Лучше использовать DQL для получения столбца столбца или получения коллекции, а затем подсчета?
Я абсолютно уверен, что DQL будет способ пойти, но мне интересно, если Doctrine, я использую Doctrine 2, может каким-то образом вернуть число строк. Я не буду использовать сами строки, мне просто нужен счет.
Ответы
Ответ 1
Я новичок в Doctrine2, но похоже, что вы можете просто сделать это:
$query = $em->createQuery('SELECT COUNT(u.id) FROM Entities\User u');
$count = $query->getSingleScalarResult();
Источник (с использованием функций Agregate): http://www.doctrine-project.org/docs/orm/2.0/en/reference/dql-doctrine-query-language.html#dql-select-examples
Разрешенные агрегированные функции: http://www.doctrine-project.org/docs/orm/2.0/en/reference/dql-doctrine-query-language.html#aggregate-functions
Ответ 2
Вот еще одна интересная точка зрения об использовании агрегированных функций в DQL
http://doctrine-orm.readthedocs.org/en/latest/cookbook/aggregate-fields.html
Возможно, вам удастся создать конкретный запрос для получения совокупного значения. В этом случае полные поля являются хорошей альтернативой.