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'])); }