Ver código fonte

Add DISTINCT clause to the ProxyQuery while fetching identifiers

Thomas Rabaix 14 anos atrás
pai
commit
c7f454ed86
1 arquivos alterados com 3 adições e 1 exclusões
  1. 3 1
      Datagrid/ORM/ProxyQuery.php

+ 3 - 1
Datagrid/ORM/ProxyQuery.php

@@ -67,7 +67,9 @@ class ProxyQuery implements ProxyQueryInterface
 
         // step 3 : retrieve the different subjects id
         $select = sprintf('%s.%s', $queryBuilderId->getRootAlias(), $idName);
-        $queryBuilderId->select($select);
+        $queryBuilderId->resetDQLPart('select');
+        $queryBuilderId->add('select', 'DISTINCT '.$select);
+
         $results  = $queryBuilderId->getQuery()->execute(array(), Query::HYDRATE_ARRAY);
         $idx      = array();
         $connection = $queryBuilder->getEntityManager()->getConnection();