Come eseguire query SQL dirette in Magento?

Oggi impareremo come correre

Ottieni il modello di risorsa principale –

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

Dopo questo, dobbiamo creare una connessione di lettura o scrittura secondo le nostre necessità.

/ ** * Recupera la connessione di lettura * / $ readConnection = $ resource-> getConnection ('core_read'); / ** * Recupera la connessione in scrittura * / $ writeConnection = $ resource-> getConnection ('core_write');

Recupero del nome corretto della tabella –

Nel caso in cui non si sia a conoscenza del prefisso della tabella, è possibile utilizzare il codice seguente per recuperare il nome corretto della tabella.

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

Se il prefisso è mage_ allora il nome della tabella che restituirà sarà mage_catalog_product_entity

Dati di lettura –

Per leggere i dati dalla tabella, utilizzare il seguente codice

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

Qui, $ query_result restituirà il risultato della query selezionata. Nel nostro caso restituirà la matrice di tutto il prodotto. Nel caso in cui siano necessari i dati del solo prodotto, utilizzare il seguente comando.

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

Qui $ _productId è l'id del prodotto di cui abbiamo bisogno i dati.

Scrivere dati –

Per inserire dati nella tabella usa il seguente codice.

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

Dati aggiornati –

Se dobbiamo aggiornare type_id di un prodotto su "configurabile", possiamo usare il seguente codice. Qui $ _productId è l'id del prodotto.

$ update_query = "UPDATE {$ _tableName} SET type_id =" configurable "WHERE entity_id = {$ _ productId}"; $ WriteConnection-> query ($ update_query); Ma Magento ha fornito il concetto del modello per la connessione al database in quanto forniscono l'astrazione e sono più sicuri delle query SQL dirette.


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 *