-
Notifications
You must be signed in to change notification settings - Fork 2
Notions utiles
La recherche filtrée s'effectue grâce à la structure filters.
Remarque, si on filtre sur plusieurs champs lors d'un appel WS, on a la notion de ‘ET’ entre les différents filtres. Si on veut filtrer sur plusieurs champs avec la notion de 'OU', il faut faire différents appels WS.
Ce champ prend un objet au format JSON. La syntaxe de cet objet est la suivante : {"field": {"value": "valeur recherchée", "matchMode": "equals"}}
La propriété field doit correspondre à une propriété de l'entité recherchée. Par exemple sur les clients, ça peut-être « email » ou « codeClient ».
Remarque : il est possible qu'une propriété field soit présente sur plusieurs entités recherchées. Par exemple, creation commun aux clients et aux adresses, donc pour différencier sur quelle table on veut pointer, on préfixe : c.creation pour faire référence aux clients ou adr.creation pour faire référence aux adresses. Cf rechercheClient.php l'exemple sur la recherche sur une date.
La propriété matchMode peut prendre comme valeur equals(pour une recherche stricte), _contains_ou startsWith ou range (pour une recherche sur les dates).
Il est possible de renseigner plusieurs conditions de recherche :
{"field1": {"value": "valeur recherchée", "matchMode": "equals"}, "field2": {"value": "autre valeur recherchée", "matchMode": "contains"}}
Remarque : la notion de or entre 2 filtres différents (‘email’ et ‘codeClient’ par exemple) n’existe pas sur nos WS. Pour répondre à ce besoin, il faut faire 2 appels WS différents.
Utilisation du +equals pour la notion de and pour un même filtre :
{\"montantTtc\": {\"value\": [0,1,2], \"matchMode\" : \"equals\"}} => montantTtc = 0 ou 1 ou 2
{\"montantTtc\": {\"value\": [0,1,2], \"matchMode\" : \"+equals\"}} => montantTtc = 0 et 1 et 2
Liste des MatchModes
| utilisation php | simbole corespondant | signification | exemple |
|---|---|---|---|
| equals | == XXX | vérifie les valeurs qui sont identique a la valeur rechercher | matchModeEquals.php |
| contains | like %XXX% | vérifie les valeur qui contienne la suite de caractère rechercher | matchModeContains.php |
| endsWith | like %XXX | vérifie les valeurs qui finissent comme la suite de caractère rechercher | matchModeEndsWith.php |
| startsWith | like XXX% | vérifie les valeurs qui commencent comme la suite de caractère rechercher | matchModeStartsWith.php |
| range | between / <= / >= | vérifie que la valeur est soit comprise entre les bornes, soit inferieur ou égal, soit supérieur ou égal a une borne | matchModeRange.php |
Ce champ est généralement obligatoire et limité à une valeur maximum de 100.
Ces 2 champs sont à utiliser ensemble.
sortOrder: Ce champ prend 1 ou -1, pour trier respectivement par valeur croissante ou décroissante.
sortField: Ce champ permet de filtrer sur la colonne désignée.