4D v19

entitySelection.extract

Home

 
4D v19
entitySelection.extract

entitySelection.extract  


 

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 

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)