From a9817a03d54ab5a4fcb975b525a1f2a9b6ec6855 Mon Sep 17 00:00:00 2001 From: zYne Date: Fri, 16 Mar 2007 22:05:36 +0000 Subject: [PATCH] new methods: addSelect() and addHaving() --- lib/Doctrine/Query.php | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) 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':