. */ /** * SelectStatement = SelectClause FromClause [WhereClause] [GroupByClause] [HavingClause] [OrderByClause] * * @package Doctrine * @subpackage Query * @author Guilherme Blanco * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @link http://www.phpdoctrine.org * @since 2.0 * @version $Revision$ */ class Doctrine_Query_AST_SelectStatement extends Doctrine_Query_AST { protected $_selectClause; protected $_fromClause; protected $_whereClause; protected $_groupByClause; protected $_havingClause; protected $_orderByClause; /* Setters */ public function setSelectClause($selectClause) { $this->_selectClause = $selectClause; } public function setFromClause($fromClause) { $this->_fromClause = $fromClause; } public function setWhereClause($whereClause) { $this->_whereClause = $whereClause; } public function setGroupByClause($groupByClause) { $this->_groupByClause = $groupByClause; } public function setHavingClause($havingClause) { $this->_havingClause = $havingClause; } public function setOrderByClause($orderByClause) { $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() : ' WHERE 1 = 1') . (($this->_groupByClause !== null) ? ' ' . $this->_groupByClause->buildSql() : '') . (($this->_havingClause !== null) ? ' ' . $this->_havingClause->buildSql() : '') . (($this->_orderByClause !== null) ? ' ' . $this->_orderByClause->buildSql() : ''); } }