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

×