13.13 Classe SearchDoc

La classe SearchDoc permet de chercher des documents sans faire directement du SQL et connaître la structure de la base de données. Cette recherche est basée sur la notion de famille et les structures associées (attributs et héritage).

Attention : La classe SearchDoc possède deux modes de fonctionnement :

13.13.1 Constructeur

new SearchDoc ( '', "FAM_LOGICAL_NAME" )

13.13.1.1 Liste des paramètres

(string) dbaccess
Déprécié. Utilisé pour indiquer les coordonnées de la base, la récupération des coordonnées est maintenant automatique, il faut passer une chaîne vide "".
(string|int) famname

Identifiant interne ou nom logique de la famille sur laquelle s'effectue la recherche.

Il peut prendre quelques valeurs particulières qui ne sont pas des identifiants de famille :

  • 0 : (valeur par défaut) : La recherche est alors effectuée sur l'ensemble des documents quelque soit leur famille,
  • -1 : la recherche est alors effectuée sur les documents familles.

13.13.1.2 Propriétés de la classe

(string|int) fromid
Identifiant interne ou nom logique de la famille sur laquelle s'effectue la recherche.
(string|int) dirid
Identifiant interne ou nom logique d'une collection dans laquelle s'effectue la recherche.
(bool) recursiveSearch (valeur par défaut false)
Uniquement applicable dans le cas d'une recherche avec dirid, si il est passé à true et que la collection de base contient d'autres collection alors la recherche est aussi effectuée dans les autres collections.
(int) folderRecursiveLevel
Uniquement applicable dans le cas d'une recherche avec dirid et recursiveSearch à true. Indique le niveau de récursivité qui va être appliqué. Attention : La recherche récursive ne protège pas contre les boucles si le dossier A contient le dossier B et que le dossier B contient le dossier A alors A et B sont ouvert à tour de rôle.
(int) slice
Indique le nombre maximum de documents retournés par la recherche.
(int) start
Indique à partir de combien de documents trouvés commence le retour des documents.
(bool) only (valeur par défaut false)
Indique si la recherche est faite dans les familles et les sous-familles.
Si true la recherche n'est pas faite dans les sous familles.
(bool) distinct (valeur par défaut false)
Indique si les résultats retournés comprennent toutes les révisions trouvées ou pas (false indique que tous les résultats sont renvoyés). Cette propriété n'a de sens que si latest est à false.
(string) trash (valeur par défaut no)

Indique si la recherche doit chercher aussi dans les documents supprimés.
La propriété doctype est à Z si le document est supprimé.
Valeurs possibles :

  • no : Les documents supprimés sont exclus,
  • also : Les documents supprimés sont inclus,
  • only : Les documents non supprimés sont exclus, seuls les supprimés sont inclus.
(bool) latest (valeur par défaut true)
Indique si la recherche ne doit retourner que la dernière révision des documents.
(int) userid
Indique l'identifiant système de l'utilisateur avec lequel se fait la recherche.

13.13.1.3 Avertissement

Les objets de la classe SearchDoc fonctionne en deux phases :

  • Préparation de la requête : lors de cette phase on initialise la requête et on fixe les différents éléments la constituants (filtre, jointure, etc.)
  • Exécution de la recherche : lors de cette phase la recherche est exécutée et on exploite les résultats.

Le passage de la phase de préparation à la phase d'exécution se fait via la méthode SearchDoc::search.

13.13.1.4 Exemples

Recherche sur tous les documents :

$searchDoc = new SearchDoc();
$documents = $searchDoc->search();

Recherche sur toutes les familles :

$searchDoc = new SearchDoc("", -1);
$documents = $searchDoc->search();

Recherche sur les documents de la famille IUSER :

$searchDoc = new SearchDoc("", "IUSER");
$documents = $searchDoc->search();

13.13.1.5 Voir aussi

Recherche documentaire avancée.

×