2016-03-31 2 views
0

Я пытаюсь получить количество, используя этот запрос:Количество в Doctrine/Symfony

  $count = $entityManager->getRepository('Model:Machine') 
       ->createQueryBuilder('m') 
       ->select('COUNT(m.id)') 
       ->where('m.number = :number') 
       ->setParameter('number', $value) 
       ->getQuery() 
       ->getSingleScalarResult(); 

Если я использую $value, что я знаю, существует, то $count возвращается как 1. Если я использую значение, которое, как я знаю, НЕ существует, то $count пуст.

Почему он не установлен на 0?

Благодаря

ответ

0

getSingleScalarResult работы разные, что вы могли бы подумать. Он рассчитывает получить простые данные из запроса и передать его целому числу. Когда запрос не смог получить машины с числом, равным параметру, результатов нет, поэтому переменная результатов пуста.

Смежные вопросы