NukeViet\Core\Database::sql PHP Method

sql() public method

public sql ( )
    public function sql()
    {
        $return = 'SELECT ' . $this->_select;
        if ($this->dbtype == 'oci' and $this->_offset) {
            $return .= ', ROWNUM oci_rownum ';
        }
        $return .= ' FROM ' . $this->_from;
        if ($this->_join) {
            $return .= ' ' . $this->_join;
        }
        if ($this->_where) {
            $return .= ' WHERE ' . $this->_where;
            if ($this->dbtype == 'oci' and $this->_limit > 0) {
                $return .= ' AND ROWNUM <= ' . ($this->_limit + $this->_offset);
            }
        } elseif ($this->dbtype == 'oci' and $this->_limit > 0) {
            $return .= ' WHERE ROWNUM <= ' . ($this->_limit + $this->_offset);
        }
        if ($this->_group) {
            $return .= ' GROUP BY ' . $this->_group;
        }
        if ($this->_having) {
            $return .= ' HAVING ' . $this->_having;
        }
        if ($this->_order) {
            $return .= ' ORDER BY ' . $this->_order;
        }
        if ($this->dbtype == 'mysql') {
            if ($this->_limit) {
                $return .= ' LIMIT ' . $this->_limit;
            }
            if ($this->_offset) {
                $return .= ' OFFSET ' . $this->_offset;
            }
        } elseif ($this->dbtype == 'oci' and $this->_offset > 0) {
            $return = 'SELECT ' . $this->_select . ' FROM (' . $return . ') WHERE oci_rownum >= ' . ($this->_offset + 1);
        }
        return $return;
    }