. */ namespace Doctrine\ORM\Query\AST; /** * SelectStatement = SelectClause FromClause [WhereClause] [GroupByClause] [HavingClause] [OrderByClause] * * @author Guilherme Blanco * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @link http://www.phpdoctrine.org * @since 2.0 * @version $Revision$ */ class SelectStatement extends Node { protected $_selectClause; protected $_fromClause; protected $_whereClause; protected $_groupByClause; protected $_havingClause; protected $_orderByClause; public function __construct($selectClause, $fromClause, $whereClause, $groupByClause, $havingClause, $orderByClause) { $this->_selectClause = $selectClause; $this->_fromClause = $fromClause; $this->_whereClause = $whereClause; $this->_groupByClause = $groupByClause; $this->_havingClause = $havingClause; $this->_orderByClause = $orderByClause; } /* Getters */ public function getSelectClause() { return $this->_selectClause; } public function getFromClause() { return $this->_fromClause; } public function getWhereClause() { return $this->_whereClause; } public function getGroupByClause() { return $this->_groupByClause; } public function getHavingClause() { return $this->_havingClause; } public function getOrderByClause() { return $this->_orderByClause; } /* REMOVE ME LATER. COPIED METHODS FROM SPLIT OF PRODUCTION INTO "AST" AND "PARSER" */ public function buildSql() { return $this->_selectClause->buildSql() . ' ' . $this->_fromClause->buildSql() . (($this->_whereClause !== null) ? ' ' . $this->_whereClause->buildSql() : '') . (($this->_groupByClause !== null) ? ' ' . $this->_groupByClause->buildSql() : '') . (($this->_havingClause !== null) ? ' ' . $this->_havingClause->buildSql() : '') . (($this->_orderByClause !== null) ? ' ' . $this->_orderByClause->buildSql() : ''); } }