protected function translateSelect()
    {
        // normal or distinct selection?
        $build = ($this->attr('distinct') ? 'select distinct' : 'select') . ' ';

        // build the selected fields 
        $fields = $this->attr('fields');

        if (!empty($fields)) 
        {
            foreach ($fields as $key => $field) 
            {
                list($column, $alias) = $field;

                if (!is_null($alias)) 
                {
                    $build .= $this->escape($column) . ' as ' . $this->escape($alias);
                }
                else 
                {
                    $build .= $this->escape($column);
                }

                $build .= ', ';
            }

            $build = substr($build, 0, -2);
        } 
        else 
        {
            $build .= '*';
        }

        // append the table
        $build .= ' from ' . $this->escapeTable();

        // build the join statements
        if ($this->attr('joins'))
        {
            $build .= $this->translateJoins();
        }

        // build the where statements
        if ($wheres = $this->attr('wheres'))
        {
            $build .= $this->translateWhere($wheres);
        }

        // build the groups
        if ($this->attr('groups'))
        {
            $build .= $this->translateGroupBy();
        }

        // build the order statement
        if ($this->attr('orders'))
        {
            $build .= $this->translateOrderBy();
        }
    
        // build offset and limit
        if ($this->attr('limit') || $this->attr('offset'))
        {
            $build .= $this->translateLimitWithOffset();
        }

        return $build;
    }
protected function translateSelect()
    {
        // normal or distinct selection?
        $build = ($this->attr('distinct') ? 'select distinct' : 'select') . ' ';

        // build the selected fields 
        $fields = $this->attr('fields');

        if (!empty($fields)) 
        {
            foreach ($fields as $key => $field) 
            {
                list($column, $alias) = $field;

                if (!is_null($alias)) 
                {
                    $build .= $this->escape($column) . ' as ' . $this->escape($alias);
                }
                else 
                {
                    $build .= $this->escape($column);
                }

                $build .= ', ';
            }

            $build = substr($build, 0, -2);
        } 
        else 
        {
            $build .= '*';
        }

        // append the table
        $build .= ' from ' . $this->escapeTable();

        // build the join statements
        if ($this->attr('joins'))
        {
            $build .= $this->translateJoins();
        }

        // build the where statements
        if ($wheres = $this->attr('wheres'))
        {
            $build .= $this->translateWhere($wheres);
        }

        // build the groups
        if ($this->attr('groups'))
        {
            $build .= $this->translateGroupBy();
        }

        // build the order statement
        if ($this->attr('orders'))
        {
            $build .= $this->translateOrderBy();
        }
    
        // build offset and limit
        if ($this->attr('limit') || $this->attr('offset'))
        {
            $build .= $this->translateLimitWithOffset();
        }

        return $build;
    }
protected function translateSelect ( ) { // normal or distinct selection? $ build = ( $ this -> attr ( 'distinct' ) ? 'select distinct' : 'select' ) . ' ' ; // build the selected fields  $ fields = $ this -> attr ( 'fields' ) ; if ( ! empty ( $ fields ) ) { foreach ( $ fields as $ key => $ field ) { list ( $ column , $ alias ) = $ field ; if ( ! is_null ( $ alias ) ) { $ build .= $ this -> escape ( $ column ) . ' as ' . $ this -> escape ( $ alias ) ; } else { $ build .= $ this -> escape ( $ column ) ; } $ build .= ', ' ; } $ build = substr ( $ build , 0 , - 2 ) ; } else { $ build .= '*' ; } // append the table $ build .= ' from ' . $ this -> escapeTable ( ) ; // build the join statements if ( $ this -> attr ( 'joins' ) ) { $ build .= $ this -> translateJoins ( ) ; } // build the where statements if ( $ wheres = $ this -> attr ( 'wheres' ) ) { $ build .= $ this -> translateWhere ( $ wheres ) ; } // build the groups if ( $ this -> attr ( 'groups' ) ) { $ build .= $ this -> translateGroupBy ( ) ; } // build the order statement if ( $ this -> attr ( 'orders' ) ) { $ build .= $ this -> translateOrderBy ( ) ; } // build offset and limit if ( $ this -> attr ( 'limit' ) || $ this -> attr ( 'offset' ) ) { $ build .= $ this -> translateLimitWithOffset ( ) ; } return $ build ; }
Translate the current query to an SQL select statement

@return string
Translate the current query to an SQL select statement