Wie führe ich Direct SQL-Abfragen in Magento aus?

Heute werden wir lernen, wie man läuft

Holen Sie sich das Kernressourcenmodell –

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

Danach müssen wir je nach Bedarf eine Lese- oder Schreibverbindung herstellen.

/ ** * Leseverbindung abrufen * / $ readConnection = $ resource-> getConnection ('core_read'); / ** * Schreibverbindung abrufen * / $ writeConnection = $ resource-> getConnection ('core_write');

Den richtigen Tabellennamen holen –

Wenn Sie das Präfix der Tabelle nicht kennen, können Sie den folgenden Code verwenden, um den korrekten Tabellennamen abzurufen.

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

Wenn das Präfix ist mage_ Dann lautet der Name der Tabelle, die zurückgegeben wird mage_catalog_product_entity

Daten lesen –

Verwenden Sie den folgenden Code, um Daten aus der Tabelle zu lesen

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

Hier gibt $ query_result das Ergebnis der Auswahlabfrage zurück. In unserem Fall wird das Array des gesamten Produkts zurückgegeben. Wenn Sie nur Produktdaten benötigen, verwenden Sie den folgenden Befehl.

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

$ _productId ist die ID des Produkts, dessen Daten wir benötigen.

Daten schreiben –

Verwenden Sie zum Einfügen von Daten in die Tabelle den folgenden Code.

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

Aktualisierte Daten –

Wenn wir die type_id eines Produkts auf "konfigurierbar" aktualisieren müssen, können wir folgenden Code verwenden. Hier ist $ _productId die Produkt-ID.

$ update_query = "UPDATE {$ _tableName} SET type_id =" konfigurierbar "WHERE entity_id = {$ _ productId}"; $ writeConnection-> query ($ update_query); Magento hat jedoch das Konzept des Modells für die Datenbankverbindung bereitgestellt, da sie eine Abstraktion bieten und sicherer sind als die direkten SQL-Abfragen.


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 *