/** * Returns an array of components to execute the query callbacks for * * @param array $params * @return array $components */ protected function _getDqlCallbackComponents($params = array()) { $componentsBefore = array(); if ($this->isSubquery()) { $componentsBefore = $this->getQueryComponents(); } $copy = $this->copy(); $copy->getSqlQuery($params, false); $componentsAfter = $copy->getQueryComponents(); $this->_rootAlias = $copy->getRootAlias(); $copy->free(); if ($componentsBefore !== $componentsAfter) { return Doctrine_Lib::arrayDiffSimple($componentsAfter, $componentsBefore); } else { return $componentsAfter; } }