Frage

Ich bekomme eine Fehlermeldung Ungültige Verwendung der Tabelle mit UNION während ich versuche, den Bestsellerbericht in admin zu exportieren.
Unten ist der Inhalt des Ausnahmeberichts.

a:5:{i:0;s:31:"Invalid use of table with UNION";i:1;s:1946:"#0 /lib/Zend/Db/Select.php(230): Zend_Db_Select->_join('from', 'sales_bestselle...', NULL, Array, NULL)
#1 /app/code/core/Mage/Sales/Model/Mysql4/Report/Bestsellers/Collection.php(125): Zend_Db_Select->from('sales_bestselle...', Array)
#2 /app/code/core/Mage/Sales/Model/Mysql4/Report/Collection/Abstract.php(241): Mage_Sales_Model_Mysql4_Report_Bestsellers_Collection->_initSelect()
#3 /app/code/core/Mage/Adminhtml/Block/Widget/Grid.php(923): Mage_Sales_Model_Mysql4_Report_Collection_Abstract->load()
#4 /app/code/core/Mage/Adminhtml/Block/Widget/Grid.php(1119): Mage_Adminhtml_Block_Widget_Grid->_exportIterateCollection('_exportExcelIte...', Array)
#5 /app/code/core/Mage/Adminhtml/controllers/Report/SalesController.php(139): Mage_Adminhtml_Block_Widget_Grid->getExcelFile('bestsellers.xml')
#6 /app/code/core/Mage/Core/Controller/Varien/Action.php(420): Mage_Adminhtml_Report_SalesController->exportBestsellersExcelAction()
#7 /app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(257): Mage_Core_Controller_Varien_Action->dispatch('exportBestselle...')
#8 /app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#9 /app/code/core/Mage/Core/Model/App.php(340): Mage_Core_Controller_Varien_Front->dispatch()
#10 /app/Mage.php(627): Mage_Core_Model_App->run(Array)
#11 /index.php(110): Mage::run('', 'store')
#12 {main}";s:3:"url";s:167:"/index.php/admin/report_sales/exportBestsellersExcel/filter/ZnJvbT0wOCUyRjE2JTJGMTUmdG89MDIlMkYxNiUyRjE2JnBlcmlvZF90eXBlPXllYXImc2hvd19lbXB0eV9yb3dzPTA=/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:5:"admin";}

Bitte lassen Sie mich wissen, wenn jemand ein ähnliches Problem hat.
Wie kann das behoben werden?
Jede Hilfe wäre dankbar.

War es hilfreich?

Lösung

Um das Problem zu beheben, habe ich das neu geschrieben Mage_Adminhtml_Block_Report_Sales_Bestsellers_Grid und Überschreibungsmethode _exportIterateCollection

<?php

class Custom_Reports_Block_Adminhtml_Report_Sales_Bestsellers_Grid extends Mage_Adminhtml_Block_Report_Sales_Bestsellers_Grid {

    public function _exportIterateCollection($callback, array $args) {
        //$originalCollection = clone $this->getCollection();
        $originalCollection = $this->getCollection();
        $count = null;
        $page = 1;
        $lPage = null;
        $break = false;

        while ($break !== true) {
            $collection = $originalCollection;
            $collection->setPageSize($this->_exportPageSize);
            $collection->setCurPage($page);
            $collection->load();
            if (is_null($count)) {
                $count = $collection->getSize();
                $lPage = $collection->getLastPageNumber();
            }
            if ($lPage == $page) {
                $break = true;
            }
            $page ++;

            foreach ($collection as $item) {
                call_user_func_array(array($this, $callback), array_merge(array($item), $args));
            }
        }
    }

}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top