Nextras\Orm\Mapper\Dbal\DbalCollection::getIteratorCount PHP 메소드

getIteratorCount() 보호된 메소드

protected getIteratorCount ( )
    protected function getIteratorCount()
    {
        if ($this->resultCount === null) {
            $builder = clone $this->queryBuilder;
            if ($builder->hasLimitOffsetClause()) {
                /** @var StorageReflection $reflection */
                $reflection = $this->repository->getMapper()->getStorageReflection();
                $primary = (array) $reflection->getStoragePrimaryKey();
                foreach ($primary as $column) {
                    $builder->addSelect('%table.%column', $builder->getFromAlias(), $column);
                }
                $sql = 'SELECT COUNT(*) FROM (' . $builder->getQuerySql() . ') temp';
                $args = $builder->getQueryParameters();
            } else {
                $builder->select('COUNT(*)');
                $builder->orderBy(null);
                $sql = $builder->getQuerySql();
                $args = $builder->getQueryParameters();
            }
            $this->resultCount = $this->connection->queryArgs($sql, $args)->fetchField();
        }
        return $this->resultCount;
    }