echo 'done loading..' . PHP_EOL;
$qb = $userAgentRepo->createQueryBuilder('userAgent');
// $qb->where($qb->expr()->isNotNull('userAgent.additionalHeaders'));
foreach ($qb->getQuery()->getResult() as $key => $userAgent) {
    /* @var $userAgent \UserAgentParserComparison\Entity\UserAgent */
    $qb = $resultRepo->createQueryBuilder('result');
    $qb->join('result.provider', 'provider');
    $qb->join('result.userAgent', 'userAgent');
    $qb->where('result.userAgent = :userAgent');
    $qb->setParameter(':userAgent', $userAgent->id);
    $qb->orderBy('provider.name');
    $results = $qb->getQuery()->getResult();
    if (count($results) === 0) {
        throw new \Exception('no results found...' . $qb->getQuery()->getSQL());
    }
    $generate = new UserAgentDetail($entityManager);
    $generate->setTitle('User agent detail - ' . $userAgent->string);
    $generate->setUserAgent($userAgent);
    $generate->setResults($results);
    /*
     * create the folder
     */
    $folder = $basePath . '/user-agent-detail/' . substr($userAgent->id, 0, 2) . '/' . substr($userAgent->id, 2, 2);
    if (!file_exists($folder)) {
        mkdir($folder, 0777, true);
    }
    /*
     * persist!
     */
    file_put_contents($folder . '/' . $userAgent->id . '.html', $generate->getHtml());
    if ($key % 100 === 0) {
echo 'done loading..' . PHP_EOL;
while ($row = $statement->fetch()) {
    /* @var $uaEvaluation \UserAgentParserComparison\Entity\UserAgentEvaluation */
    $uaEvaluation = $uaEvaluationRepo->findOneBy(['userAgent' => $row['uaId']]);
    $qb = $resultRepo->createQueryBuilder('result');
    $qb->join('result.provider', 'provider');
    $qb->join('result.userAgent', 'userAgent');
    $qb->join('result.resultEvaluation', 'resultEvaluation');
    $qb->where('result.userAgent = :userAgent');
    $qb->setParameter(':userAgent', $row['uaId']);
    $qb->orderBy('provider.name');
    $results = $qb->getQuery()->getResult();
    if (count($results) === 0) {
        throw new \Exception('no results found...' . $qb->getQuery()->getSQL());
    }
    $generate = new UserAgentDetail();
    $generate->setTitle($row['uaString']);
    $generate->setUserAgent($row['uaString']);
    $generate->setUserAgentEvaluation($uaEvaluation);
    $generate->setResults($results);
    /*
     * create the folder
     */
    $folder = $basePath . '/user-agent-detail/' . substr($row['uaId'], 0, 2) . '/' . substr($row['uaId'], 2, 2);
    if (!file_exists($folder)) {
        mkdir($folder, null, true);
    }
    /*
     * persist!
     */
    file_put_contents($folder . '/' . $row['uaId'] . '.html', $generate->getHtml());