Query al db di Magento tramite le classi Zend

Nell’articolo precedente abbiamo visto come configurare la connessione al database di Magento tramite le classi di Zend Framework.

Il passo successivo consiste nella preparazione di un’istanza con un ruolo di interfaccia per la tabella, passando il nome della stessa tabella come parametro del costruttore della classe Zend_Db_Table.

  $product_table = Zend_Db_Table('catalog_product_entity');

Uno dei tanti casi concreti in cui possiamo usare questa tecnica è quello in cui si ha la necessità di caricare una serie di attributi ( nell’esempio tutti i decimali) di un certo prodotto.  

$select = $product_table->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
$select->setIntegrityCheck(false)
   ->where('catalog_product_entity.entity_id = ?', $product_id)
   ->join('catalog_product_entity_decimal', 'catalog_product_entity_decimal.entity_id = catalog_product_entity.entity_id');

$results = $product_table->fetchAll($select);

In questo modo, come risultato avremo un array dove ogni elemento corrisponde ad uno specifico attributo per un singolo negozio (o per store_id = 0).