
Como montar uma query no Magento e executa-la utilizando os recursos nativos da própria plataforma.
Nada de “models”, apenas o SQL.
Vamos direto ao ponto.
$resource = Mage::getSingleton('core/resource');
$readConnection = $resource->getConnection('core_read'); No código acima, primeiro pegamos a instancia da classe “core/resource” e com método “getConnection” iremos ter acesso a conexão de leitura passando como parâmetro o valor ‘core_read’.
$query = ' SELECT col1 FROM tabela_test LIMIT 1 '; $one_result = $readConnection->fetchCol( $query );
Acima montamos um query de teste e a executamos com método “fetchCol”, utilizamos essa função pois queremos apenas a primeira coluna das linhas resultantes.
Podemos utilizar também “fetchAll”, para trazer várias linhas e todas as colunas da query.
$results = $readConnection->fetchAll( $query );
Você poderá percorrer cada linha retornada com “foreach” na variável “results”.
Caso você queira retornar apenas 1 linha e 1 coluna, utilize o método a seguir:
$result = $readConnection->fetchOne($query);
A função “fetchOne” irá retornar imediatamente o valor da coluna na variável “result”.
$resource = Mage::getSingleton('core/resource');
$writeConnection = $resource->getConnection('core_write'); Utilizamos a mesma instancia anterior “core/resource”, mudando apenas o parâmetro no “getConnection” para “core_write”, pois iremos fazer uma inserção “escrita” no banco.
$query = " INSERT INTO test (ab,cd) VALUES ('ab','cd'); ";
$writeConnection->query($query) Com método “query” em nosso objeto executamos nossa query.
Dá mesma forma que o “insert”, iremos utilizar “core_write” invés do “core_read”.
$resource = Mage::getSingleton('core/resource');
$writeConnection = $resource->getConnection('core_write'); $query = " UPDATE test SET name = 'test' WHERE id = 1 "; $writeConnection->query($query);
$query = " DELETE FROM test WHERE id = 1 "; $writeConnection->query($query);
Muito cuidado ao executar essas query, aconselho a você sempre estar utilizando os “models”, pois eles irão padronizar o seu código e ajudarão a proteger suas consultas.
Contudo em algumas situações e necessário executar uma consulta complexa ou algo do tipo, neste caso nunca se esqueça de validar os parâmetros utilizados na sua query, evitando “SQL Injection”.
Módulo gratuito Roger_CnpjAlfanumerico que aplica máscara e validação do novo CNPJ alfanumérico no checkout e formulários do Magento 2 e…
A partir de 06/07/2026 a Receita passa a emitir CNPJ alfanumérico. Conheça o plugin grátis que aplica máscara e validação…
Para remover um módulo do Magento 2, siga os passos abaixo: 1. Desabilitar o módulo Primeiro, desabilite o módulo usando…
Para cancelar 100% do pedido e criar um crédito para todos os itens através da API REST do Magento 2,…
No Magento 2, a quantidade "reservada" na "Salable Quantity" é gerenciada principalmente pelos módulos MSI (Multi-Source Inventory). A "Salable Quantity"…
Como corrigir o erro ao acessar o Admin do Magento 2. Mesmo após fazer o login, permanece na tela de…