src/Phiber/ORM/Queries/PhiberQueryWriter.php
public function select(array $infos)
    {
        try {

            $tabela = $infos['table'];
            $campos = $infos['fields'];

            $whereCriteria   = $infos['where'];
            $joins           = $infos['join'];
            $limitCriteria   = $infos['limit'];
            $offsetCriteria  = $infos['offset'];
            $orderByCriteria = $infos['orderby'];

            $campos = gettype($campos) == "array" ? implode(", ", $campos) : $campos;

            $this->sql = "SELECT " . $campos . " FROM $tabela";

            // responsável por montar JOIN
            if (!empty($joins)) {
                for ($i = 0; $i < count($joins); $i++) {
                    $this->sql .= " " . $joins[$i] . " ";
                }
            }

            // responsável por montar o WHERE.
            if (!empty($whereCriteria)) {
                $this->sql .= " WHERE " . $whereCriteria;
            }

            // responsável por montar o order by.
            if (!is_null($orderByCriteria)) {
                $orderBy = gettype($orderByCriteria) == "array" ? implode(", ", $orderByCriteria) : $orderByCriteria;

                $this->sql .= " ORDER BY " . $orderBy;
            }

            // responsável por montar o limit.
            if (!empty($limitCriteria)) {
                $this->sql .= " LIMIT " . $limitCriteria;
            }

            // responsável por montar OFFSET
            if (!empty($offsetCriteria)) {

                $this->sql .= " OFFSET " . $offsetCriteria;
            }

            $this->sql .= ";";
            
            return $this->sql;

        } catch (PhiberException $phiberException) {
            throw new PhiberException(new Internationalization("query_processor_error"));
        }
    }
public function select(array $infos)
    {
        try {

            $tabela = $infos['table'];
            $campos = $infos['fields'];

            $whereCriteria   = $infos['where'];
            $joins           = $infos['join'];
            $limitCriteria   = $infos['limit'];
            $offsetCriteria  = $infos['offset'];
            $orderByCriteria = $infos['orderby'];

            $campos = gettype($campos) == "array" ? implode(", ", $campos) : $campos;

            $this->sql = "SELECT " . $campos . " FROM $tabela";

            // responsável por montar JOIN
            if (!empty($joins)) {
                for ($i = 0; $i < count($joins); $i++) {
                    $this->sql .= " " . $joins[$i] . " ";
                }
            }

            // responsável por montar o WHERE.
            if (!empty($whereCriteria)) {
                $this->sql .= " WHERE " . $whereCriteria;
            }

            // responsável por montar o order by.
            if (!is_null($orderByCriteria)) {
                $orderBy = gettype($orderByCriteria) == "array" ? implode(", ", $orderByCriteria) : $orderByCriteria;

                $this->sql .= " ORDER BY " . $orderBy;
            }

            // responsável por montar o limit.
            if (!empty($limitCriteria)) {
                $this->sql .= " LIMIT " . $limitCriteria;
            }

            // responsável por montar OFFSET
            if (!empty($offsetCriteria)) {

                $this->sql .= " OFFSET " . $offsetCriteria;
            }

            $this->sql .= ";";
            
            return $this->sql;

        } catch (PhiberException $phiberException) {
            throw new PhiberException(new Internationalization("query_processor_error"));
        }
    }
public function select ( array $ infos ) { try { $ tabela = $ infos [ 'table' ] ; $ campos = $ infos [ 'fields' ] ; $ whereCriteria = $ infos [ 'where' ] ; $ joins = $ infos [ 'join' ] ; $ limitCriteria = $ infos [ 'limit' ] ; $ offsetCriteria = $ infos [ 'offset' ] ; $ orderByCriteria = $ infos [ 'orderby' ] ; $ campos = gettype ( $ campos ) == "array" ? implode ( ", " , $ campos ) : $ campos ; $ this -> sql = "SELECT " . $ campos . " FROM $tabela" ; // responsável por montar JOIN if ( ! empty ( $ joins ) ) { for ( $ i = 0 ; $ i < count ( $ joins ) ; $ i ++ ) { $ this -> sql .= " " . $ joins [ $ i ] . " " ; } } // responsável por montar o WHERE. if ( ! empty ( $ whereCriteria ) ) { $ this -> sql .= " WHERE " . $ whereCriteria ; } // responsável por montar o order by. if ( ! is_null ( $ orderByCriteria ) ) { $ orderBy = gettype ( $ orderByCriteria ) == "array" ? implode ( ", " , $ orderByCriteria ) : $ orderByCriteria ; $ this -> sql .= " ORDER BY " . $ orderBy ; } // responsável por montar o limit. if ( ! empty ( $ limitCriteria ) ) { $ this -> sql .= " LIMIT " . $ limitCriteria ; } // responsável por montar OFFSET if ( ! empty ( $ offsetCriteria ) ) { $ this -> sql .= " OFFSET " . $ offsetCriteria ; } $ this -> sql .= ";" ; return $ this -> sql ; } catch ( PhiberException $ phiberException ) { throw new PhiberException ( new Internationalization ( "query_processor_error" ) ) ; } }
Faz a query de select de um registro no banco com os dados.

@param  array $infos
@return string
@throws PhiberException
Faz a query de select de um registro no banco com os dados .