. */ /** * QuantifiedExpression = ("ALL" | "ANY" | "SOME") "(" Subselect ")" * * @package Doctrine * @subpackage Query * @author Janne Vanhala * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @link http://www.phpdoctrine.org * @since 2.0 * @version $Revision$ */ class Doctrine_Query_Production_QuantifiedExpression extends Doctrine_Query_Production { protected $_type; protected $_subselect; public function syntax($paramHolder) { switch ($this->_parser->lookahead['type']) { case Doctrine_Query_Token::T_ALL: $this->_parser->match(Doctrine_Query_Token::T_ALL); break; case Doctrine_Query_Token::T_ANY: $this->_parser->match(Doctrine_Query_Token::T_ANY); break; case Doctrine_Query_Token::T_SOME: $this->_parser->match(Doctrine_Query_Token::T_SOME); break; default: $this->_parser->logError('ALL, ANY or SOME'); break; } $this->_type = strtoupper($this->_parser->lookahead['value']); $this->_parser->match('('); $this->_subselect = $this->AST('Subselect', $paramHolder); $this->_parser->match(')'); } public function buildSql() { return $this->_type . ' (' . $this->_subselect->buildSql() . ')'; } /* Getters */ public function getType() { return $this->_type; } public function getSubselect() { return $this->_subselect; } }