XIV-V Posted July 11, 2013 Share Posted July 11, 2013 (edited) Bonjour, Est-ce que quelque chose m'échappe où il n'y a pas moyen de récupéré l'id d'un panier quand on vient de l'insérer avec un webservice ? P.ex pour les clients, quand on l'ajoute, on doit connaître son adresse e-mail et on peut s'en servir comme condition pour le récupérer de la BD tjs avec le webservice et disposer de son ID. Pour les paniers en revanche, il n'y a aucune valeur fixe fiable qui nous permette de s'en servir comme filtre et de récupérer l'id du panier qu'on vient d'ajouter via un webservice. Il y aurait éventuellement la date, mais là aussi, j'ai beau en spécifier une à l'ajout, elle n'est pas prise en compte une fois ajouté a la BD. Dans ces conditions comment faire pour ajouter une commande qui a besoin d'un ID de client et d'un ID de panier ? ps : on ne peut pas spécifier un ID lorsqu'on ajoute un de ces objets à la BD avec les webservices. Edited July 11, 2013 by XIV-V (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted July 11, 2013 Share Posted July 11, 2013 Bonjour, Dans l'idée, on associe le panier à un client. On pourrait éventuellement effectuer cette requête (c'est mis en URL, pour la facilité de compréhension): http://[...]/api/carts?filter[id_customer]=[x]&sort=id_DESC&limit=1 Sachant que x doit-être l'ID du client. (Donc, [id_customer]=[3] si son ID est 3). Link to comment Share on other sites More sharing options...
XIV-V Posted July 11, 2013 Author Share Posted July 11, 2013 (edited) Merci pour ta réponse. Mais j'ai trouvé une solution "plus robuste" qui évite de refaire une requête pour aller chercher qqch. $opt = array( 'resource' => 'orders', 'postXml' => $xml->asXML() ); $order = $this->webService->add($opt); $order_id = $order->order->id; echo "Order successfully added : $order_id <br/>"; (même code pour un panier avec la resource 'cart') Quand on fait un add(), on reçoit un XML de l'objet complet en retour, il suffit ensuite d'aller chercher àl'id. Ce XML ainsi retourné peut directement être modifié pour être mis à jour le cas échéant (notamment si on veut changer les date_add et date_upd, qui refusent d'être saisies lors du add() ). Edited July 11, 2013 by XIV-V (see edit history) Link to comment Share on other sites More sharing options...
J. Danse Posted July 11, 2013 Share Posted July 11, 2013 Hé hé, c'est mieux, exactement. ;-) C'est vrai que l'ajout renvoie l'objet "modifié". N'hésite pas à rajouter [Résolu] dans le titre du sujet ;-) 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