PrestashopUser03 Posted July 21, 2021 Share Posted July 21, 2021 Bonjour, Comme indiqué dans le titre, je cherche à effectuer une simple requête update et elle n'update rien en bdd. A quoi est-ce dû ? Voici la requête en question. $test="UPDATE ps_stock_available SET physical_quantity=100, reserved_quantity=1, quantity=100 WHERE id_product_attribute=352711"; Db::getInstance()->execute($test); Link to comment Share on other sites More sharing options...
Alexandre Carette Posted July 21, 2021 Share Posted July 21, 2021 (edited) coucou, $db = \Db::getInstance(); $db->update('stock_available', array( 'physical_quantity' => 100, 'reserved_quantity' => 1, 'quantity' => 1, ), 'id_product_attribute =352711'; '); je te conseil d'utiliser la classe DB comme prestashop le preconise, plus simple et plus propre, cdt Edited July 21, 2021 by Alexandre Carette (see edit history) Link to comment Share on other sites More sharing options...
PrestashopUser03 Posted July 21, 2021 Author Share Posted July 21, 2021 Ca ne fonctionne pas non plus. Pas de modification après la commande. Link to comment Share on other sites More sharing options...
Alexandre Carette Posted July 21, 2021 Share Posted July 21, 2021 peux tu screen la structure de la table ps_stock_available ? afin de voir si les colonnes physical_quantity, reserved_quantity, quantity et id_product_attribute existe bien Link to comment Share on other sites More sharing options...
Alexandre Carette Posted July 21, 2021 Share Posted July 21, 2021 ah oui et dans ton module verif l'nstall du hook, cf ex Link to comment Share on other sites More sharing options...
PrestashopUser03 Posted July 22, 2021 Author Share Posted July 22, 2021 Merci pour ces réponses, Voici la table avant le passage de la commande : Et voici la table après le passage de la commande et donc de ce code : $db = \Db::getInstance(); $db->update('stock_available', array( 'physical_quantity' => 100, 'reserved_quantity' => 1, 'reserved_quantity' => 1, ), 'id_product_attribute =352711' ); Nous utilisons le module wk_warehouses donc cette décrémentation de la quantity et l'incrémentation de la reserved_quantity sont normales (si le update ne fonctionnait pas...) Le hook fonctionne bien, j'ai déjà réussi à echo des informations ou autre. Link to comment Share on other sites More sharing options...
Alexandre Carette Posted July 22, 2021 Share Posted July 22, 2021 (edited) salut il y a une erreur dans ma requete il y a 2 fois reserved quantity, essaye ca: $db = \Db::getInstance(); $db->update('stock_available', array( 'physical_quantity' => 100, 'reserved_quantity' => 1, 'quantity' => 100, ), 'id_product_attribute =352711'; '); Edited July 22, 2021 by Alexandre Carette (see edit history) Link to comment Share on other sites More sharing options...
PrestashopUser03 Posted July 22, 2021 Author Share Posted July 22, 2021 Ca ne marche pas non plus, j'ai tenté avec une seule valeur à modifier, je ne comprends pas ce qu'il se passe. Link to comment Share on other sites More sharing options...
Alexandre Carette Posted July 22, 2021 Share Posted July 22, 2021 peux tu screen la structure de table y a peut etre des valeurs qui doivent etre obligatoire Link to comment Share on other sites More sharing options...
Alexandre Carette Posted July 22, 2021 Share Posted July 22, 2021 oui a mon avis faut ajouter id_product etc... sur les colonne dont la valeur est null et ne possédant pas de valeur par defaut, au pire essaye la requete en SQL direct dans phpmyadmin il va t indiquer les erreurs... cdt Link to comment Share on other sites More sharing options...
Alexandre Carette Posted July 22, 2021 Share Posted July 22, 2021 ou alors tu instancie l objet... faut trouver l'id_stock_available en fonction de ton id_product_attribute avant Link to comment Share on other sites More sharing options...
PrestashopUser03 Posted July 22, 2021 Author Share Posted July 22, 2021 La requête fonctionne correctement sur phpmyadmin donc c'est incompréhensible. Je vais abandonner la solution de traiter les commandes au fil de l'eau, je vais le faire avec une tache cron qui va récupérer les dernières commandes et faire les opérations appropriées. Merci pour votre aide tout de même Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now