13.13.8 SearchDoc::useCollection()
Cette méthode permet de définir que la recherche a pour base une collection,
seul les documents contenu dans cette collection sont trouvés.
13.13.8.1 Description
bool useCollection( int $dirid )
La collection indiquée en entrée dans la fonction peut être soit un dossier, une recherche ou encore un rapport.
13.13.8.1.1 Avertissements
Lorsque la collection indiquée en entrée est une recherche spécialisée,
il est impossible d'utiliser la méthode SearchDoc::addFilter()
.
13.13.8.2 Liste des paramètres
- (string|int)
dirid
- La fonction prend en entrée la référence vers une collection que ça soit par son nom logique ou par son identifiant.
13.13.8.3 Valeur de retour
(bool) true
si le paramètre a pu être appliqué false
sinon.
13.13.8.4 Erreurs / Exceptions
Si jamais la référence passée en entrée n'est pas valide la fonction retourne
false
et enregistre un message d'erreur sur l'objet
(voir SearchDoc::getError
)
13.13.8.5 Historique
Aucun.
13.13.8.6 Exemples
Récupérer le contenu d'un dossier
$folderName="MY_FAVORITE_FOLDER"; // identifiant d'un document recherche ou dossier $searchDoc = new SearchDoc(); $searchDoc->setObjectReturn(false); $searchDoc->useCollection($folderName); $rawResults= $searchDoc->search(); if ($searchDoc->searchError()) { $action->exitError(sprintf("search error : %s",$searchDoc->getError())); }
Ceci est équivalent au code suivant :
$folder=new_doc('', "MY_FAVORITE_FOLDER"); $rawResults=$folder->getContent();
Récupérer les sous-dossiers d'un dossier
$folderName="MY_FAVORITE_FOLDER"; // identifiant d'un dossier $searchDoc = new SearchDoc('', 'DIR'); $searchDoc->setObjectReturn(); $searchDoc->useCollection($folderName); $dl=$searchDoc->search()->getDocumentList(); foreach ($dl as $doc) { printf("%d) %s\n", $doc->id, $doc->getTitle()); }
13.13.8.7 Notes
Aucune.
13.13.8.8 Voir aussi
SearchDoc::setRecursiveSearch()
- Le chapitre avancé sur la recherche dans les collections.