Query builder (Construtor de consultas)
December 5, 2025 · View on GitHub
Construído sobre o Yii DB, o construtor de consultas permite que você construa uma consulta SQL de maneira programática e independente do DBMS.
Em comparação com a escrita de instruções SQL brutas, o uso do construtor de consultas ajudará você a escrever códigos relacionados SQL mais legíveis e gerar instruções SQL mais seguras.
Usar um construtor de consultas geralmente envolve duas etapas:
- Construa uma instância de classe
Yiisoft\Db\Query\Querypara representar diferentes partes (comoSELECT,FROM) de uma instrução SQLSELECT. - Execute um método de consulta, por exemplo,
all(),one(),scalar(),column(),query()deYiisoft\Db\Query\Querypara recuperar dados do banco de dados.
O código a seguir mostra uma maneira típica de usar um construtor de consultas.
use Yiisoft\Db\Connection\ConnectionInterface;
use Yiisoft\Db\Query\Query;
/** @var ConnectionInterface $db */
$rows = $db->select(['id', 'email'])
->from('{{%user}}')
->where(['last_name' => 'Smith'])
->limit(10)
->all();
O código acima gera e executa a seguinte consulta SQL, onde o parâmetro :last_name está vinculado
à string Smith:
SELECT `id`, `email`
FROM `user`
WHERE `last_name` = :last_name
LIMIT 10
Nota:
Yiisoft\Db\Query\Querydestina-se a ser usado mais ao invés deYiisoft\Db\QueryBuilder\QueryBuilder. O primeiro invoca o último implicitamente quando você chama um dos métodos de consulta.Yiisoft\Db\QueryBuilder\QueryBuilderé a classe responsável por gerar instruções SQL dependentes de SGBD, comoSELECT,FROM,WHERE,ORDER BYdoYiisoft\Db\Query\Query.