Skip to content

dev/data_where_and_or

cerdic a demandé de fusionner gh-3abd0771/4918/unknown/refs/pull/4918/head vers master

Amélioration de l'itérateur DATA qui est capable de traduire des where avec des sous conditions imbriquees du type

[
  ['>=', 'cle', 10],
  ['OR', ['=','titre',"'hop'"], ['=','titre', "'la'"]],
  ['AND', .....],
]

Pour cela j'ai d'abord refactoré la traduction des conditions en where en filtre pour mieux séparer les étapes, puis ajouté la prise en charge des opérateurs OR et AND:

  • d'une part lors de la traduction, qui du coup compose un tableau du même type avec l'opérateur en premier et les 2 filtres ensuite, issus de la traduction des sous-conditions
  • d'autre part dans l'assemblage des filtres, en assemblant de manière récursive le tableau de filtres contenant éventuellement sous conditions avec opérateurs OR/AND

Ce support étendu permet de faciliter le support des boucles DATA dans des critères calculés dynamiquement de type recherche ou filtre qui vont produite une condition where unique, elle même composée de sous conditions (AND en général mais pas forcément), ce que la boucle DATA ne prenait pas en charge

Rapports de requête de fusion