Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v19.8
entitySelection.extract

entitySelection.extract 


 

entitySelection.extract ( propertyPath {; targetPath}{; propertyPath2 ; targetPath2 ; ... ; propertyPathN ; targetPathN}{; option}) -> Funktionsergebnis 
Parameter Typ   Beschreibung
propertyPath  Text in Pfad der Eigenschaft, deren Werte in die neue Collection extrahiert werden
targetPath  Text in Pfad oder Name der Eigenschaft im Ziel
option  Lange Ganzzahl in ck keep null: Null Eigenschaften in die zurückgegebene Collection einbinden (wird standardmäßig ignoriert).
Wird nicht berücksichtigt, wenn targetPath übergeben ist.
Funktionsergebnis  Collection in Collection mit den extrahierten Werten

Die Methode entitySelection.extract gibt eine Collection mit den Werten von propertyPath zurück, die aus der Entity-Selection extrahiert wurden. 

propertyPath kann sich beziehen auf:

  • ein skalares Attribut der Dataclass,
  • eine verknüpfte Entity,
  • verknüpfte Entities.

Ist propertyPath ungültig, wird eine leere Collection zurückgegeben.

Diese Methode akzeptiert zwei Syntaxarten:

Mit dieser Syntax füllt entitySelection.extract die zurückgegebene Collection mit den Werten von propertyPath der Entity-Selection. 
Standardmäßig werden Entities, für die propertyPath null oder undefiniert ist, in der zurückgegebenen Collection ignoriert. Sie können die Konstante ck keep null im Parameter Option übergeben, damit diese Werte in der zurückgegebenen Collection als Null Elemente eingefügt werden.

  • Dataclass Attribute mit dataClassAttribute.kind = "relatedEntity" werden als eine Collection von Entities extrahiert (Duplikate werden beibehalten).
  • Dataclass Attribute mit dataClassAttribute.kind = "relatedEntities" werden als eine Collection von Entity-Selections extrahiert.

Mit dieser Syntax füllt entitySelection.extract die zurückgegebene Collection mit den Eigenschaften von propertyPath und jedes Element der Collection ist ein Objekt mit den Eigenschaften von targetPath, gefüllt mit den entsprechenden Eigenschaften von propertyPath. Null Werte werden beibehalten (der Parameter option wird mit dieser Syntax ignoriert). 
Bei mehreren propertyPath muss für jede ein targetPath übergeben sein. Nur gültige Paare [propertyPathtargetPath] werden extrahiert.

 

Hinweis: Entities einer Collection von Entities, die über [ ] zugänglich sind, werden nicht erneut aus der Anwendung geladen.

Gegeben sind folgende Tabelle und Verknüpfung:

 C_COLLECTION($firstnames;$addresses;$mailing;$teachers)
 C_OBJECT($status)
  //
  //
  //$firstnames ist eine Collection von Strings
 $firstnames:=ds.Teachers.all().extract("firstname")
  //
  //$addresses ist eine Collection von Entities verknüpft mit der Dataclass Address
  //Null Werte für address werden extrahiert
 $addresses:=ds.Teachers.all().extract("address";ck keep null)
  //
  //
  //$mailing ist eine Collection von Objekten mit Eigenschaften "who" und "city"
  //Inhalt der Eigenschaft "who" ist vom Typ String 
  //Inhalt der Eigenschaft "city" ist vom Typ String
 $mailing:=ds.Teachers.all().extract("lastname";"who";"address.city";"city")
  //
  //$teachers ist eine Collection von Objekten mit Eigenschaften "where" und "who"
  //Inhalt der Eigenschaft "where" ist String
  //Inhalt der Eigenschaft "who" ist eine Entity-Selection (Dataclass Teachers)
 $teachers:=ds.Address.all().extract("city";"where";"teachers";"who")
  //
  //$teachers ist eine Collection von Entity-Selections
 $teachers:=ds.Address.all().extract("teachers")



Siehe auch 

collection.extract( )

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: ORDA - EntitySelection

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v18 R3

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)
4D Programmiersprache ( 4D v19.4)
4D Programmiersprache ( 4D v19.5)
4D Programmiersprache ( 4D v19.6)
4D Programmiersprache ( 4D v19.7)
4D Programmiersprache ( 4D v19.8)