Comment exécuter des requêtes Direct SQL dans Magento?

Aujourd'hui, nous allons apprendre à courir

Obtenir le modèle de ressource de base –

$ resource = Mage :: getSingleton ('noyau / ressource');

Après cela, nous devons créer une connexion en lecture ou en écriture selon nos besoins.

/ ** * Récupère la connexion en lecture * / $ readConnection = $ resource-> getConnection ('core_read'); / ** * Récupère la connexion en écriture * / $ writeConnection = $ resource-> getConnection ('core_write');

Chercher le bon nom de table –

Si vous ne connaissez pas le préfixe de la table, vous pouvez utiliser le code ci-dessous pour récupérer le nom de la table approprié.

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

Si le préfixe est mage_ alors le nom de la table, il reviendra sera mage_catalog_product_entity

Lecture de données –

Pour lire les données de la table, utilisez le code suivant

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

Ici, $ query_result renverra le résultat de la requête select. Dans notre cas, il retournera le tableau de tout le produit. Si vous avez besoin des données du produit uniquement, utilisez la commande suivante.

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

Ici $ _productId est l'id du produit dont nous avons besoin des données.

Ecriture de données –

Pour insérer des données dans la table, utilisez le code suivant.

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

Données mises à jour –

Si nous devons mettre à jour le type_id d'un produit sur "configurable", nous pouvons utiliser le code suivant. Ici, $ _productId est l'ID du produit.

$ update_query = "UPDATE {$ _tableName} SET type_id =" configurable "WHERE entity_id = {$ _ productId}"; $ writeConnection-> query ($ update_query); Mais Magento a fourni le concept du modèle pour la connexion à la base de données car ils fournissent une abstraction et sont plus sécurisés que les requêtes SQL directes.


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 *