Ich muss eine Liste aller Werte abrufen, die für ein bestimmtes Produktattribut in (Pseudo) SQL verwendet werden:
SELECT DISTINCT attribute FROM products;
Wie würde ich das Magento ORM verwenden, um eine entsprechende Abfrage zu generieren? Ich habe die distinct()
Funktion ausprobiert , aber sie funktioniert nicht wie erwartet:
// Returns an array of NULL with a length equal to all products in the catalog
Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('attribute')
->distinct(true)
->getColumnValues('attribute');
Ich arbeite daran, ein Array von attribute
Werten ohne Duplikate zu erhalten
array('some value', 'some other value', 'a really common value', 'etc...');
Antworten:
Dank Kalpesh ist dies bereits gebloggt:
http://ka.lpe.sh/2011/06/06/magento-get-all-the-values-of-a-magento-eav-for-a-particular-attribute-code/
Hier ist eine andere Lösung: https://stackoverflow.com/a/15509714/1480397
Ich bin mir aber nicht sicher, ob dies bei nicht ausgewählten Attributen funktioniert.
quelle
Sie können alle SQL-Anweisungen direkt über die Verbindung senden, um Daten abzurufen, auf die über die API von magentos nicht zugegriffen werden kann.
Die Abfragefunktionen sind fetchRow und fetchAll und sind strukturiert:
fetchAll ($ strukturierte_sql, $ bind_filters = array (), $ fetchMode = null)
quelle