Учение подсчитать записи таблицы - PullRequest
9 голосов
/ 30 марта 2012

Я хотел бы знать, как я могу считать все записи сущности в хранилище доктрин

Я нашел это решение, но не уверен, что это хорошо, так:

public function findAllCounted()
{
    return $this->getEntityManager()
        ->createQuery('SELECT COUNT(a.id) FROM KSRArticleBundle:Article a')
        ->getSingleScalarResult();
}

С наилучшими пожеланиями, Бодо

Ответы [ 4 ]

11 голосов
/ 30 марта 2012

Вам не нужно рассчитывать на конкретное поле, так что это будет делать:

SELECT COUNT(a) FROM KSRArticleBundle:Article a
5 голосов
/ 14 августа 2013

Только для записи, обычно лучше рассчитывать на id:

SELECT COUNT(a.id) FROM KSRArticleBundle:Article a

немного лучше

0 голосов
/ 04 апреля 2018

результатом запроса является массив, который всегда имеет нулевую позицию и параметр "1"

$recordnumber= $number[0]["1"];

имя таблицы должно быть равно имени объекта и начинаться с заглавной буквы

0 голосов
/ 06 сентября 2017

SQL также позволяет это:

SELECT COUNT(1) FROM KSRArticleBundle:Article a

Таким образом, базе данных даже не нужно извлекать какие-либо данные из таблицы, что еще быстрее. Буквально то, что написано: выберите номер константы «1» для каждой записи. Небольшое увеличение скорости для хорошо спроектированных серверов баз данных, и вам не нужно ничего помнить о таблице при написании этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...