13.13.7 SearchDoc::setRecursiveSearch()

Lorsque la recherche est effectuée sur un dossier, celui-ci peut contenir des sous-dossier, il est possible de rechercher à l'intérieur de ces sous-dossier.

13.13.7.1 Description

void setRecursiveSearch( int $recursiveMode = true 
                         int $level         = 2    )

Lorsque la collection est un dossier, il est possible de faire des recherches récursives à l'aide de la méthode DocSearch::setRecursiveSearch(). Le niveau de profondeur de la recherche est défini au moyen de l'argument $level.

13.13.7.1.1 Avertissements

Ceci ne fonctionne que si la recherche est faite dans une collection spécifique SearchDoc::useCollection() et que cette collection est de type dossier.

Les recherches contenues dans les sous-dossiers ne sont pas inspectées.

13.13.7.2 Liste des paramètres

(bool) recursiveMode (valeur par défaut : true)
Si le paramètre recursiveMode est passé à true alors la recherche est faite de manière récursive. Un searchDoc est paramétré pour effectuer une recherche non-récursive par défaut.
(int) level (valeur par défaut : 2)3.2.12
Niveau de profondeur maximum d'inspection des sous-dossier. S'il est égal à zéro, aucun sous-dossier n'est inspecté.

13.13.7.3 Valeur de retour

Void.

13.13.7.4 Erreurs / Exceptions

Exception \Dcp\SearchDoc\Exception si le $level, n'est pas en entier positif ou égal à zéro.

13.13.7.5 Historique

13.13.7.5.1 Release 3.2.12

Ajout du paramètre $level pour indiquer le niveau de profondeur. Auparavant, il fallait mettre à jour la propriété folderRecursiveLevel pour indiquer le niveau.

13.13.7.6 Exemples

Recherche de tous les documents contenus dans le dossier MY_FOLDER jusqu'à trois niveaux de profondeur.

$search = new \SearchDoc(self::$dbaccess);
$search->setObjectReturn();
$search->useCollection("MY_FOLDER");
$search->setRecursiveSearch(true, 3);
$search->search();

Recherche de tous les sous-dossiers du dossier MY_FOLDER jusqu'à trois niveaux de profondeur dont la description contient "important".

$search = new \SearchDoc(self::$dbaccess, "DIR");
$search->setObjectReturn();
$search->useCollection("MY_FOLDER");
$search->setRecursiveSearch(true, 3);
$search->addFilter("%s ~ 'important", \Dcp\AttributeIdentifiers\Dir::ba_desc);
$search->search();

13.13.7.7 Notes

Aucune.

13.13.7.8 Voir aussi

Voir le chapitre avancé sur la recherche dans les collections.

×
mis à jour