¿Cómo ejecutar consultas directas de SQL en Magento?

Hoy aprenderemos a correr.

Obtener el modelo de recursos básicos –

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

Después de esto necesitamos crear una conexión de lectura o escritura según nuestra necesidad.

/ ** * Recuperar la conexión de lectura * / $ readConnection = $ resource-> getConnection ('core_read'); / ** * Recuperar la conexión de escritura * / $ writeConnection = $ resource-> getConnection ('core_write');

Obteniendo el nombre correcto de la tabla –

Si no conoce el prefijo de la tabla, puede usar el código de abajo para obtener el nombre correcto de la tabla.

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

Si el prefijo es mago_ entonces el nombre de la tabla que devolverá será mage_catalog_product_entity

Lectura de datos –

Para leer datos de la tabla usa el siguiente código

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

Aquí, $ query_result devolverá el resultado de la consulta de selección. En nuestro caso devolverá la matriz de todo el producto. En caso de que necesite datos de solo producto, utilice el siguiente comando.

$ query = "seleccione * de {$ _tableName} donde entity_id = {$ _ productId}"; $ query_result = $ readConnection-> fetchAll ($ query);

aquí $ _productId Es el id del producto cuyos datos necesitamos.

Escritura de datos –

Para insertar datos en la tabla use el siguiente código.

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

Datos actualizados –

Si tenemos que actualizar el type_id de un producto a "configurable", entonces podemos usar el siguiente código. Aquí $ _productId es la identificación del producto.

$ update_query = "ACTUALIZAR {$ _tableName} SET type_id =" configurable "WHERE entity_id = {$ _ productId}"; $ writeConnection-> query ($ update_query); Pero Magento ha proporcionado el concepto del modelo para la conexión de la base de datos ya que proporciona una abstracción y son más seguros que las consultas SQL directas.


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 *