Sulu\Component\Rest\ListBuilder\Doctrine\DoctrineListBuilder::count PHP Метод

count() публичный Метод

public count ( )
    public function count()
    {
        $subQueryBuilder = $this->createSubQueryBuilder('COUNT(' . $this->entityName . '.id)');
        $result = $subQueryBuilder->getQuery()->getScalarResult();
        $numResults = count($result);
        if ($numResults > 1) {
            return $numResults;
        } elseif ($numResults == 1) {
            $result = array_values($result[0]);
            return (int) $result[0];
        }
        return 0;
    }

Usage Example

Пример #1
0
 public function testCount()
 {
     $this->doctrineListBuilder->setFields([new DoctrineFieldDescriptor('name', 'name_alias', self::$entityName), new DoctrineFieldDescriptor('desc', 'desc_alias', self::$translationEntityName, 'translation', [self::$translationEntityName => new DoctrineJoinDescriptor(self::$translationEntityName, self::$entityName . '.translations')])]);
     $this->doctrineListBuilder->addSearchField(new DoctrineFieldDescriptor('desc', 'desc', self::$translationEntityName));
     $this->doctrineListBuilder->search('value');
     $this->doctrineListBuilder->limit(5);
     $this->queryBuilder->expects($this->never())->method('orderBy');
     $this->queryBuilder->expects($this->exactly(1))->method('leftJoin');
     $this->queryBuilder->expects($this->exactly(1))->method('setParameter');
     $this->queryBuilder->expects($this->never())->method('setMaxResults');
     $this->queryBuilder->expects($this->never())->method('setFirstResult');
     $this->doctrineListBuilder->count();
 }