diff --git a/lib/Doctrine/Query.php b/lib/Doctrine/Query.php index c7710ad9b..0fb25fdfc 100644 --- a/lib/Doctrine/Query.php +++ b/lib/Doctrine/Query.php @@ -178,10 +178,11 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { } else { $e = explode('.', $reference); - if(count($e) > 2) + if (count($e) > 2) { $this->pendingFields[] = $reference; - else + } else { $this->pendingFields[$e[0]][] = $e[1]; + } } } } @@ -468,6 +469,32 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { $this->params[] = $params; } } + /** + * addSelect + * + * @param string $select + */ + public function addSelect($select) + { + $this->type = self::SELECT; + + $this->parseSelect($select); + + return $this; + } + /** + * addHaving + * + * @param string $having + */ + public function addHaving($having) + { + $class = 'Doctrine_Query_Having'; + $parser = new $class($this); + $this->parts['having'][] = $parser->parse($orderby); + + return $this; + } /** * sets a query part * @@ -485,9 +512,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { case 'select': $this->type = self::SELECT; - if( ! isset($args[0])) + if ( ! isset($args[0])) { throw new Doctrine_Query_Exception('Empty select part'); - + } $this->parseSelect($args[0]); break; case 'delete':