瀏覽代碼

pre-select tags for indexing to avoid N+1 queries

Igor Wiedler 13 年之前
父節點
當前提交
a3246e059a
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      src/Packagist/WebBundle/Entity/PackageRepository.php

+ 2 - 1
src/Packagist/WebBundle/Entity/PackageRepository.php

@@ -33,9 +33,10 @@ class PackageRepository extends EntityRepository
     public function getStalePackagesForIndexing()
     {
         $qb = $this->getEntityManager()->createQueryBuilder();
-        $qb->select('p, v')
+        $qb->select('p, v, t')
             ->from('Packagist\WebBundle\Entity\Package', 'p')
             ->leftJoin('p.versions', 'v')
+            ->leftJoin('v.tags', 't')
             ->where('p.indexedAt IS NULL OR p.indexedAt < ?0')
             ->setParameters(array(new \DateTime('-1hour')));
         return $qb->getQuery()->getResult();