异常'PDOException',消息'SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'order_increment_id'

时间:2013-09-20 18:35:27

标签: magento pdo zend-db

自从我从1.6.2升级到1.7以来,我遇到了magento的错误。我对Zend DB调用并不熟悉,但我无法弄清楚这些错误。

2013-09-11T15:52:15+00:00 ERR (3): 
exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'order_increment_id' in 'where clause'' in   lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0   lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1   lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2   lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3   lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4   lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT `main_ta...', Array)
#5   lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('SELECT `main_ta...', Array)
#6   lib/Zend/Db/Adapter/Abstract.php(734): Varien_Db_Adapter_Pdo_Mysql->query('SELECT `main_ta...', Array)
#7   lib/Varien/Data/Collection/Db.php(734): Zend_Db_Adapter_Abstract->fetchAll('SELECT `main_ta...', Array)
#8   app/code/core/Mage/Core/Model/Resource/Db/Collection/Abstract.php(521): Varien_Data_Collection_Db->_fetchAll('SELECT `main_ta...', Array)
#9   lib/Varien/Data/Collection/Db.php(566): Mage_Core_Model_Resource_Db_Collection_Abstract->getData()
#10   lib/Varien/Data/Collection.php(741): Varien_Data_Collection_Db->load()
#11   app/code/core/Mage/Sales/Model/Order/Shipment/Api.php(76): Varien_Data_Collection->getIterator()
#12 [internal function]: Mage_Sales_Model_Order_Shipment_Api->items(Array)
#13   app/code/core/Mage/Api/Model/Server/Handler/Abstract.php(296): call_user_func_array(Array, Array)
#14 [internal function]: Mage_Api_Model_Server_Handler_Abstract->call('ec5d1479c284c4c...', 'sales_order_shi...', Array)
#15   lib/Zend/Soap/Server.php(832): SoapServer->handle('<?xml version="...')
#16   app/code/core/Mage/Api/Model/Server/Adapter/Soap.php(150): Zend_Soap_Server->handle()
#17   app/code/core/Mage/Api/Model/Server.php(138): Mage_Api_Model_Server_Adapter_Soap->run()
#18   app/code/core/Mage/Api/controllers/SoapController.php(40): Mage_Api_Model_Server->run()
#19   app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Api_SoapController->indexAction()
#20   app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('index')
#21   app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#22   app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#23   app/Mage.php(686): Mage_Core_Model_App->run(Array)
#24   index.php(87): Mage::run('', 'store')
#25 {main}

Next exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'order_increment_id' in 'where clause'' in   lib/Zend/Db/Statement/Pdo.php:234
Stack trace:
#0   lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1   lib/Zend/Db/Statement.php(300): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2   lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#3   lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SELECT `main_ta...', Array)
#4   lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('SELECT `main_ta...', Array)
#5   lib/Zend/Db/Adapter/Abstract.php(734): Varien_Db_Adapter_Pdo_Mysql->query('SELECT `main_ta...', Array)
#6   lib/Varien/Data/Collection/Db.php(734): Zend_Db_Adapter_Abstract->fetchAll('SELECT `main_ta...', Array)
#7   app/code/core/Mage/Core/Model/Resource/Db/Collection/Abstract.php(521): Varien_Data_Collection_Db->_fetchAll('SELECT `main_ta...', Array)
#8   lib/Varien/Data/Collection/Db.php(566): Mage_Core_Model_Resource_Db_Collection_Abstract->getData()
#9   lib/Varien/Data/Collection.php(741): Varien_Data_Collection_Db->load()
#10   app/code/core/Mage/Sales/Model/Order/Shipment/Api.php(76): Varien_Data_Collection->getIterator()
#11 [internal function]: Mage_Sales_Model_Order_Shipment_Api->items(Array)
#12   app/code/core/Mage/Api/Model/Server/Handler/Abstract.php(296): call_user_func_array(Array, Array)
#13 [internal function]: Mage_Api_Model_Server_Handler_Abstract->call('ec5d1479c284c4c...', 'sales_order_shi...', Array)
#14   lib/Zend/Soap/Server.php(832): SoapServer->handle('<?xml version="...')
#15   app/code/core/Mage/Api/Model/Server/Adapter/Soap.php(150): Zend_Soap_Server->handle()
#16   app/code/core/Mage/Api/Model/Server.php(138): Mage_Api_Model_Server_Adapter_Soap->run()
#17   app/code/core/Mage/Api/controllers/SoapController.php(40): Mage_Api_Model_Server->run()
#18   app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Api_SoapController->indexAction()
#19   app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('index')
#20   app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#21   app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#22   app/Mage.php(686): Mage_Core_Model_App->run(Array)
#23   index.php(87): Mage::run('', 'store')
#24 {main}

这些错误似乎来自app / code / core / Mage / Sales / Model / Order / Shipment / Api.php(76),这些是相关的行。

47     /**
48      * Retrieve shipments by filters
49      *
50      * @param null|object|array $filters
51      * @return array
52      */
53     public function items($filters = null)
54     {
55         $shipments = array();
56         //TODO: add full name logic
57         $shipmentCollection = Mage::getResourceModel('sales/order_shipment_collection')
58             ->addAttributeToSelect('increment_id')
59             ->addAttributeToSelect('created_at')
60             ->addAttributeToSelect('total_qty')
61             ->joinAttribute('shipping_firstname', 'order_address/firstname', 'shipping_address_id', null, 'left')
62             ->joinAttribute('shipping_lastname', 'order_address/lastname', 'shipping_address_id', null, 'left')
63             ->joinAttribute('order_increment_id', 'order/increment_id', 'order_id', null, 'left')
64             ->joinAttribute('order_created_at', 'order/created_at', 'order_id', null, 'left');
65 
66         /** @var $apiHelper Mage_Api_Helper_Data */
67         $apiHelper = Mage::helper('api');
68         try {
69             $filters = $apiHelper->parseFilters($filters, $this->_attributesMap['shipment']);
70             foreach ($filters as $field => $value) {
71                 $shipmentCollection->addFieldToFilter($field, $value);
72             }
73         } catch (Mage_Core_Exception $e) {
74             $this->_fault('filters_invalid', $e->getMessage());
75         }
76         foreach ($shipmentCollection as $shipment) {
77             $shipments[] = $this->_getAttributes($shipment, 'shipment');
78         }
79 
80         return $shipments;
81     }

一切似乎都没问题,但我可能会找错地方。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试使用此Magento数据库修复工具,它应该可以帮助您http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/db-repair-tool