public function _renderSelect(Select $select) { if ($select->getIsJoin()) { return $this->_renderJoin($select); } $sql = parent::_renderSelect($select); if (!is_null($select->getLimitStart()) || !is_null($select->getLimitCount())) { $sql = $this->_applyLimit($sql, $select); } return $sql; }
/** * @param Select $select * @return string */ protected function _renderSelect(Select $select) { if ($select->getIsJoin()) { return $this->_renderJoin($select); } $parts = array(); $parts[] = "SELECT"; if ($select->isDistinct()) { $parts[] = "DISTINCT"; } $parts[] = $this->_renderSelectColumns($select); $parts[] = $this->_renderSelectFrom($select); if ($joins = $this->_renderSelectJoins($select)) { $parts[] = $joins; } if ($where = $this->_renderSelectWhere($select)) { $parts[] = $where; } if ($groupBy = $this->_renderSelectGroupBy($select)) { $parts[] = $groupBy; } if ($having = $this->_renderSelectHaving($select)) { $parts[] = $having; } if ($orderBy = $this->_renderSelectOrderBy($select)) { $parts[] = $orderBy; } if ($limit = $this->_renderSelectLimit($select)) { $parts[] = $limit; } $sql = implode(" ", $parts); return $sql; }