moises/query-biulder

Installs: 23

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/moises/query-biulder

v1.3.1 2026-01-09 13:47 UTC

This package is auto-updated.

Last update: 2026-01-09 13:55:31 UTC


README

Suporte apenas para PostgreSQL.

Para usar esse queryBiulder primeiramente deve fazer a conexão com o pdo

depois instanciar uma das Queries (Insert,Delete,Update ou Select)

Apos isso é só usar os metodos delas.

Instalação

composer require moises/query-biulder

Classes e Metodos

Classe DeleteQuery :

- delete() => deleta

- toSql() => retorna a querie sql formatada

Classe InsertQuery:

- insert() => insere o campo e o nome da tabela.

- values() => insere o valor que vai para o campo da tabela.

Classe SelectQuery:

- select() => seleciona as colunas.

- where() => opcional mas se colocado precisa de pelo menos uma condição.

- order() => opcional para a ordenação das colunas.

- join() => opcional para junção de tabelas.

- limit() => opcional para adicionar limite de linhas no retorno da querie.

Classe UpdateQuery:

- update() => atualiza.

- set() => marca o atributo e o valor a ser atualizado

Metodos Gerais:

- metodo from() => pode ser usado com select e com update.

- execute() => metodo que efitivamente manda a querie para o banco.

Orientações:

- Utilizar os objetos englobados por um try catch para tratamento de exceções.

- O update não precisa de from para o nome de tabela, assim como é no PostgreSQL. Mas pode ser usado apos o update().

- Alguns metodos são inclusos dentro de outros para segurança. Como os metodos update() e delete() que fazem a chamada do metodo where internamente.

- O metodo set sempre vai atribuir valores ou seja, sempre retornará SET coluna = valor, o operador de comparação pedido no metodo é para a filtragem do where interior.

Sintaxe:

Delete:


$pdo = new PDO("pgsql:host=localhost;port=port;dbname= 'name'",'usuario','senha');
$d = new DeleteQuery();
$d->delete('nome_da_tabela', ['coluna'=>'valor'],['operador_de_comparação']);
$d->execute($pdo);

Insert:


$pdo = new PDO("pgsql:host=localhost;port=port;dbname= 'name'",'usuario','senha');
$i = new InsertQuery();
$i->insert('nome_da_tabela', ['colunas_a_serem_inseridas'])->values(['valores_a_serem_inseridos']);
$i->execute($pdo);

Select:


$pdo = new PDO("pgsql:host=localhost;port=port;dbname= 'name'",'usuario','senha');
$s = new SelectQuery();
$s->select(['id', 'nome'])
  ->from('clients', 'c')
  ->where(['coluna'=>'valor_1,valor_2','coluna' => 'valor'],
          ['operador_de_comparação1,operador_de_comparação2'],
          ['operador_logico1,operador_logico2'])
  ->order(['coluna'=>'DESC'])
  ->join('tipoDeJoin', 'tabelaDeJunção', ['colunaDaTabelaDoFrom','colunaDaTabelaDeJunção'], 'condiçãoDoJoin','aliasDaTabelaDeJunção')
  ->limit(1);
$result = $s->execute($pdo)->fetchAll(PDO::FETCH_ASSOC);

Update:


$pdo = new PDO("pgsql:host=localhost;port=port;dbname= 'name'",'usuario','senha');
$u = new UpdateQuery();
$u->update('tabela')
  ->set(['coluna' => "valor"],['condição'=>'valor'],['operador_de_comparação_where]);
$u->execute($pdo);