protected function getCacheId()
 {
     $hints = $this->query->getHints();
     ksort($hints);
     $types = array();
     foreach ($this->query->getParameters() as $parameter) {
         $types[$parameter->getName()] = $parameter->getType();
     }
     $platform = $this->query->getEntityManager()->getConnection()->getDatabasePlatform()->getName();
     return md5(serialize(['dql' => $this->query->getDQL(), 'platform' => $platform, 'filters' => $this->query->getEntityManager()->hasFilters() ? $this->query->getEntityManager()->getFilters()->getHash() : '', 'firstResult' => $this->query->getFirstResult(), 'maxResult' => $this->query->getMaxResults(), 'hydrationMode' => $this->query->getHydrationMode(), 'types' => $types, 'hints' => $hints, 'salt' => __CLASS__ . 'V1']));
 }
Exemple #2
0
 /**
  * Clone query
  *
  * @param  Doctrine\ORM\AbstractQuery $query
  * @return Doctrine\ORM\AbstractQuery
  */
 protected function cloneQuery(AbstractQuery $query)
 {
     $aclAppliedQuery = clone $query;
     $params = $query->getParameters();
     $aclAppliedQuery->setParameters($params);
     return $aclAppliedQuery;
 }
Exemple #3
0
 /**
  * Clone query
  *
  * @param  AbstractQuery $query
  * @return AbstractQuery
  */
 protected function cloneQuery(AbstractQuery $query)
 {
     $aclAppliedQuery = clone $query;
     $params = $query->getParameters();
     foreach ($params as $key => $param) {
         $aclAppliedQuery->setParameter($key, $param);
     }
     return $query;
 }
Exemple #4
0
 /**
  *
  *
  * deprecated: lieber deliverQuery benutzen
  */
 protected function processQuery(\Doctrine\ORM\AbstractQuery $q, $mode = 'SingleResult', $ident = NULL)
 {
     if (\Psc\PSC::getProject()->isDevelopment()) {
         throw new \Psc\DeprecatedException(__FUNCTION__ . ' ist deprecated');
     }
     if ($mode == 'SingleResult') {
         try {
             return $q->getSingleResult();
         } catch (\Doctrine\ORM\NoResultException $e) {
             $e = new \Psc\Doctrine\EntityNotFoundException('Es konnte kein Ergebnis für den Identifier: ' . Code::varInfo($ident) . ' gefunden werden.');
             $e->findCriteria = $q->getParameters();
             throw $e;
         } catch (\Doctrine\ORM\NonUniqueResultException $e) {
             $e = new \Psc\Doctrine\EntityNonUniqueResultException('Es wurde mehr als ein Ergebnis für den Identifier: ' . Code::varInfo($ident) . ' gefunden. ');
             $e->findCriteria = $q->getParameters();
             throw $e;
         }
     }
     throw new \Psc\Exception('Falscher parameter für mode: ' . Code::varInfo($mode));
 }