1
0
mirror of synced 2024-12-14 15:16:04 +03:00

new methods: addSelect() and addHaving()

This commit is contained in:
zYne 2007-03-16 22:05:36 +00:00
parent e65f623aea
commit a9817a03d5

View File

@ -178,13 +178,14 @@ 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];
}
}
}
}
public function parseAggregateFunction2($func)
{
$e = Doctrine_Query::bracketExplode($func, ' ');
@ -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':