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;
 }
Пример #2
0
 /**
  * @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;
 }