Como executar consultas SQL diretas no Magento?

Hoje vamos aprender a correr

Obtenha o modelo de recurso principal –

$ resource = Mage :: getSingleton ('core / resource');

Depois disso, precisamos criar uma conexão de leitura ou gravação conforme nossa necessidade.

/ ** * Recuperar a conexão de leitura * / $ readConnection = $ resource-> getConnection ('core_read'); / ** * Recuperar a conexão de gravação * / $ writeConnection = $ resource-> getConnection ('core_write');

Buscando o nome da tabela correta –

Caso você não tenha conhecimento do prefixo da tabela, use o código abaixo para buscar o nome correto da tabela.

$ _tableName = $ resource-> getTableName ('catalog_product_entity');

Se o prefixo é mago_ então o nome da tabela que retornará será mage_catalog_product_entity

Lendo dados –

Para ler dados da tabela, use o seguinte código

$ query = "selecione * de {$ _tableName}"; $ query_result = $ readConnection-> fetchAll ($ query);

Aqui, $ query_result retornará o resultado da consulta selecionada. No nosso caso, ele retornará a matriz de todo o produto. Caso você precise de dados do produto, use o seguinte comando.

$ query = "select * from {$ _tableName} onde entity_id = {$ _ productId}"; $ query_result = $ readConnection-> fetchAll ($ query);

Aqui $ _productId é o id do produto cujos dados precisamos.

Escrevendo dados –

Para inserir dados na tabela, use o seguinte código.

$ insert_query = "INSERT INTO {$ _tableName} ('COL_NAME1', 'COL_NAME2') VALORES ('COL_VALUE1', 'COL_VALUE2')"; $ writeConnection-> query ($ insert_query);

Dados atualizados –

Se tivermos que atualizar o type_id de um produto para "configurável", podemos usar o código a seguir. Aqui $ _productId é o ID do produto.

$ update_query = "ATUALIZAR {$ _tableName} SET type_id =" configurável "WHERE entity_id = {$ _ productId}"; $ writeConnection-> query ($ update_query); Mas Magento forneceu o conceito do modelo para conexão de banco de dados, uma vez que fornecem abstração e são mais seguros que as consultas SQL diretas.


Prashant Kumar

Prashant Kumar

Prashant is a passionate Magento developer. He loves exploring e-commerce and reading books.

Leave a Reply

Your email address will not be published. Required fields are marked *