Jump to content

Bug majeur sur la page de commande


Recommended Posts

Bonjour,

 

Je rencontre un bug lors du chargement de la page de commande.

 

( ! ) PrestaShopDatabaseException: Unknown column 'ord.id_order_detail' in 'where clause'<br /><br /><pre> SELECT product_quantity, date_add, orsl.name as state FROM `ps_order_return_detail` ord LEFT JOIN `ps_order_return` o ON o.id_order_return = ord.id_order_return LEFT JOIN `ps_order_return_state_lang` orsl ON orsl.id_order_return_state = o.state AND orsl.id_lang = 2 WHERE ord.`id_order_detail` = 36409</pre> in /classes/db/Db.php on line 613

 

 

Effectivement dans cette requete tel quel s'affiche cela ne peux pas marcher.

 

Mais pourquoi cette requete est fausse, je suppose que c'est pas un bug de presta.

 

Mais je vois pas d'ou cela peux venir.

 

Dans les précédentes modif, j'ai modifié le renderList du controller AdminOrderController. Mais rien d'autre.

 

Voici le call stack : 

  • DbCore->displayError - [line 313 - classes/db/Db.php] - [1 Arguments]
  • DbCore->query - [line 488 - classes/db/Db.php] - [1 Arguments]
  • DbCore->executeS - [line 217 - classes/order/OrderReturn.php] - [1 Arguments]
  • OrderReturnCore::getProductReturnDetail - [line 1331 - controllers/admin/AdminOrdersController.php] - [1 Arguments]
  • AdminOrdersControllerCore->renderView - [line 1497 - classes/controller/AdminController.php] - [0 Argument]
  • AdminControllerCore->initContent - [line 167 - classes/controller/Controller.php] - [0 Argument]
  • ControllerCore->run - [line 348 - classes/Dispatcher.php] - [0 Argument]
  • DispatcherCore->dispatch - [line 53 - admin-dev/index.php] - [0 Argument]

 

Une idée? 

 

Cdlt

 

Livingdead

Edited by livindeadfr (see edit history)
Link to comment
Share on other sites

Oui ben je crois que c'est juste un méchant gros bug de prestashop .

 

regarde la requete : 

 
/**
* Get return details for one product line
* @param $id_order_detail
*/
public static function getProductReturnDetail($id_order_detail)
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT product_quantity, date_add, orsl.name as state
FROM `'._DB_PREFIX_.'order_return_detail` ord
LEFT JOIN `'._DB_PREFIX_.'order_return` o
ON o.id_order_return = ord.id_order_return
LEFT JOIN `'._DB_PREFIX_.'order_return_state_lang` orsl
ON orsl.id_order_return_state = o.state AND orsl.id_lang = '.(int)Context::getContext()->language->id.'
WHERE ord.`id_order_detail` = '.(int)$id_order_detail);
}
 
 
Et voici le desc de la table order_return_detail 
CREATE TABLE IF NOT EXISTS `ps_order_return_detail` (
  `id_order_return_detail` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `id_order_return` int(10) unsigned NOT NULL,
  `id_customization` int(10) unsigned NOT NULL DEFAULT '0',
  `id_product` int(10) unsigned NOT NULL,
  `product_quantity` int(10) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id_order_return_detail`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=72 ;
 
 
ya juste un gros problème....
Link to comment
Share on other sites

Bonjour,

 

Personnellement j'ai ça ;

 

CREATE TABLE IF NOT EXISTS `ps_order_return_detail` (
  `id_order_return` int(10) unsigned NOT NULL,
  `id_order_detail` int(10) unsigned NOT NULL,
  `id_customization` int(10) unsigned NOT NULL DEFAULT '0',
  `product_quantity` int(10) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id_order_return`,`id_order_detail`,`id_customization`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...