c'est à dire seulement 3 critères
]]>Juste avant votre réponse j'étais tombé sur un post qui traitait le même sujet et où vous aviez également interagi, j'ai donc opté pour cette réponse et ça a bel et bien marché, j'avais également vu votre proposition et j'avais voté, en espérant qu'elle soit prise en compte, c'est tellement plus optimal !
Merci encore
]]>http://XXX/glpi/apirest.php/search/Ticket?
criteria[0][field]=5&criteria[0][searchtype]=equals&criteria[0][value]=15
&criteria[1][link]=AND&criteria[1][field]=12&criteria[1][searchtype]=equals&criteria[1][value]=2&criteria[2][link]=OR&criteria[2][field]=5&criteria[2][searchtype]=equals&criteria[2][value]=15
&criteria[3][link]=AND&criteria[3][field]=12&criteria[3][searchtype]=equals&criteria[3][value]=3&criteria[4][link]=OR&criteria[4][field]=5&criteria[4][searchtype]=equals&criteria[4][value]=15
&criteria[5][link]=AND&criteria[5][field]=12&criteria[5][searchtype]=equals&criteria[5][value]=4
il y a une demande sur https://glpi.userecho.com/communities/1 … expression pour gerer les expressions régulières, ça simplifierait aussi votre cas :
on aurait
http://XXX/glpi/apirest.php/search/Ticket?
criteria[0][field]=5&criteria[0][searchtype]=equals&criteria[0][value]=15
&criteria[1][link]=AND&criteria[1][field]=12&criteria[1][searchtype]=regexp&criteria[1][value]=(2|3|4)
En interrogeant l'API j'ai remarqué quelque chose avec le criteria ;
Disons par exemple que je veux récupérer la liste des tickets dont le technicien est le user 15 ET qui sont en cours OU en attente.
En d'autre termes je veux exécuter cette requête :
SELECT * FROM glpi_tickets WHERE technicien = 15 AND (statut = encours OR statut = enattente)
Le problème c'est qu'au lieu de cela, l'API me renvoie les tickets dont le technicien est 15 ET qui sont en cours, ET tous les tickets en attente.
En d'autres termes l'API exécute cette requête-là :
SELECT * FROM glpi_tickets WHERE (technicien = 15 AND statut = encours) OR statut = enattente
Je n'arrive pas à spécifier les parenthèses de la façon que je souhaite.
Voici le lien de ma requête:
http://XXX/glpi/apirest.php/search/Ticket?criteria[0][field]=5&criteria[0][searchtype]=equals&criteria[0][value]=15&criteria[1][link]=AND&criteria[1][field]=12&criteria[1][searchtype]=equals&criteria[1][value]=2&criteria[2][link]=OR&criteria[2][field]=12&criteria[2][searchtype]=equals&criteria[2][value]=3&criteria[3][link]=OR&criteria[3][field]=12&criteria[3][searchtype]=equals&criteria[3][value]=4
Ma question est la suivante:
Comment spécifier les parenthèses dans une requête comme celle-ci?