Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v19.8
entitySelection.extract( )

entitySelection.extract( ) 


 

entitySelection.extract ( cheminPropriété {; cheminCible}{; cheminPropriété2 ; cheminCible2 ; ... ; cheminPropriétéN ; cheminCibleN}{; option}) -> Résultat 
Paramètre Type   Description
cheminPropriété  Texte in Chemin de propriété dont les valeurs doivent être extraites dans la nouvelle collection
cheminCible  Texte in Chemin ou nom de propriété cible
option  Entier long in ck keep null : inclure les propriétés null dans la collection retournée (ignorées par défaut). Paramètre ignoré si cheminCible est passé.
Résultat  Collection in Collection contenant les valeurs extraites

La méthode entitySelection.extract( ) retourne une collection contenant les valeurs cheminPropriété extraites de l'entity selection. 

cheminPropriété peut faire référence à :

  • un attribut dataclass scalaire,
  • une entity liée,
  • des entités liées.

Si cheminPropriété est invalide, une collection vide est retournée.

Cette méthode accepte deux syntaxes.

Avec cette syntaxe, entitySelection.extract( ) remplit la collection retournée avec des valeurs de cheminPropriété de l'entity selection.
Par défaut, les entités dont cheminPropriété est null ou indéfini sont ignorées dans la collection résultante. Vous pouvez passer la constante ck keep null dans le paramètre option pour intégrer ces valeurs comme des éléments null dans la collection retournée.

  • Les attributs dataclass avec dataClassAttribute.kind = "relatedEntity" sont extraits sous forme de collection d'entités (les duplications sont conservées).
  • Les attributs dataclass avec dataClassAttribute.kind = "relatedEntities" sont extraits sous forme de collection d'entity selections.

Avec cette syntaxe, entitySelection.extract( ) remplit la collection retournée avec des valeurs de cheminPropriété et chaque élément de la collection est un objet avec les propriétés cheminCible complétées par les propriétés cheminPropriété correspondantes. Les valeurs null sont conservées (le parmètre option est ignoré avec cette syntaxe).

Si plusieurs cheminPropriété sont renseignés, un cheminCible doit être renseigné à chacun. Seules les paires valides [cheminPropriété cheminCible] sont extraites.

Note : Les entités d'une collection d'entités accessibles via [ ] ne sont pas rechargées depuis la base.

 

Exemple  

Soit la table et le lien suivants :

 C_COLLECTION($firstnames;$addresses;$mailing;$teachers)
 C_OBJECT($status)
  //
  //
  //$firstnames est une collection de Chaînes
 $firstnames:=ds.Teachers.all().extract("firstname")
  //
  //$addresses est une collection d'entités liées à la dataclass Address
  //Les valeurs null d'Address sont extraites
 $addresses:=ds.Teachers.all().extract("address";ck keep null)
  //
  //
  //$mailing est une collection d'objets avec les propriétés "who" et "to"
  //Le contenu de la propriété "who" est de type Chaîne
  //Le contenu de la propriété "to" est de type entity (dataclass Address)
 $mailing:=ds.Teachers.all().extract("lastname";"who";"address";"to")
  //
  //
  //$mailing est une collection d'objets avec les propriétés "who" et "city"
  //Le contenu de la propriété "who" est de type Chaîne
  //Le contenu de la propriété "city" est de type Chaîne
 $mailing:=ds.Teachers.all().extract("lastname";"who";"address.city";"city")
  //
  //$teachers est une collection d'objets avec les propriétés "where" et "who"
  //Le contenu de la propriété "where" est de type Chaîne
  //Le contenu de la propriété "who" est une entity selection (dataclass Teachers)
 $teachers:=ds.Address.all().extract("city";"where";"teachers";"who")
  //
  //$teachers est une collection d'entity selections
 $teachers:=ds.Address.all().extract("teachers")



Voir aussi  

collection.extract( )

 
PROPRIÉTÉS 

Produit : 4D
Thème : ORDA - EntitySelection

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v18 R3

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v19)
4D - Langage ( 4D v19.1)
4D - Langage ( 4D v19.4)
4D - Langage ( 4D v19.5)
4D - Langage ( 4D v19.6)
4D - Langage ( 4D v19.7)
4D - Langage ( 4D v19.8)