Sto creando un report stock nell'amministratore e ho tutto ciò che funziona finora, tranne che non riesco a filtrare sulla colonna unita.Filtraggio di una colonna congiunta
Ho unito le informazioni di borsa, utilizzando il seguente per afferrare la mia collezione.
$collection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('name')
->addAttributeToSelect('sku')
->addAttributeToSelect('price')
->setStoreId($storeId);
$collection->addFieldToFilter('type_id', 'simple');
// Add on the stock qty information
$collection->getSelect()->join(array('stock'=>'ccmg_cataloginventory_stock_item'), 'e.entity_id = stock.item_id', array('stock.qty'));
Questo sta causando la visualizzazione, ma non è possibile filtrare o ordinare la colonna. Presumo perché le opzioni non vengono riconsegnate al join. Tuttavia, le altre colonne possono essere ordinate e filtrate e i dati corrispondenti vengono riportati indietro e visualizzati.
Ho cercato ma la maggior parte dei post sono presenti nei forum Magento dal 2008 e sto utilizzando 1.6! Qualsiasi suggerimento sarebbe grandioso!
non posso verificare se questo funziona come io non sono lavorando ancora su questo progetto. –
Funziona, ma poiché non stavo estendendo Mage_Core_Model_Resource_Db_Collection_Abstract '_map ['fields']' era privato/protetto. addFilterToMap ha fatto il trucco. '$ collection-> addFilterToMap ('ihe_name', 'ihe.name');' –
'' 'addFieldToMap''' infatti è il modo corretto. '' '$ this -> _ map ['fields']' '' in realtà sovrascrive l'uscita '' '_map''' array, quindi diventa ingombrante se abbiamo più di una colonna da mappare. – kiatng