Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
entitySelection.toCollection()
|
entitySelection.toCollection() ( {filter ;}{ options {; begin {; howMany}}} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
filter | String, Collection |
![]() |
Gibt die Entity Eigenschaften zum Extrahieren an | |||||
options | Lange Ganzzahl |
![]() |
dk with primary key: Fügt den Primärschlüssel hinzu dk with stamp: Fügt den Stempel hinzu | |||||
begin | Lange Ganzzahl |
![]() |
Definiert den startenden Index | |||||
howMany | Lange Ganzzahl |
![]() |
Anzahl der Entities zum Extrahieren | |||||
Funktionsergebnis | Collection |
![]() |
Collection der Objekte mit Attributen und Werten der Entity Collection | |||||
Die Methode entitySelection.toCollection() erstellt und gibt eine Collection zurück, wo jedes Element ein Objekt mit einem Satz Eigenschaften und Werten ist, die den Attributsnamen und Werten für die Entity Collection entsprechen.
Wird der Parameter filter weggelassen, enthält einen leeren String oder "*", werden alle Attribute extrahiert. Attribute mit der Eigenschaft "kind" "relatedEntity" werden mit einfacher Form extrahiert: ein Objekt mit Eigenschaft __KEY (Primärschlüssel). Attribute mit Eigenschaft "kind" "relatedEntities" werden nicht extrahiert.
Im Parameter filter können Sie die Entity Attribute zum Extrahieren übergeben. Es gibt zwei Syntaxarten:
Ist filter für Attribute vom Typ relatedEntity angegeben:
Ist filter für Attribute vom Typ relatedEntities angegeben:
Im Parameter options können Sie den bzw. die Selektoren dk with primary key und/oder dk with stamp übergeben, um Primärschlüssel der Entity bzw. Stempel in extrahierten Objekten hinzuzufügen.
Mit dem Parameter begin können Sie den startenden Index der Entities zum Extrahieren angeben. Sie können jeden Wert zwischen 0 und Entity-Selection-1 übergeben.
Im Parameter howMany können Sie die Anzahl der zu extrahierenden Entities ab der in begin angegebenen Entity definieren. Entfernte Entities werden nicht zurückgegeben, jedoch gemäß dem Parameter howMany mitgezählt. Ist howMany= 3 und gibt es 1 entfernte Entity, werden nur 2 Entities extrahiert.
Ist howMany >Länge der Entity-Selection, gibt die Methode (Länge - begin) Objekte zurück.
Eine leere Collection wird zurückgegeben:
Folgende Struktur wird für alle Beispiele dieses Abschnitts verwendet:
Beispiel ohne die Parameter filter oder options:
C_COLLECTION($employeesCollection)
C_OBJECT($employees)
$employeesCollection:=New collection
$employees:=ds.Employee.all()
$employeesCollection:=$employees.toCollection()
Ergibt:
[ { "ID": 416, "firstName": "Gregg", "lastName": "Wahl", "salary": 79100, "birthDate": "1963-02-01T00:00:00.000Z", "woman": false, "managerID": 412, "employerID": 20, "photo": "[object Picture]", "extra": null, "employer": { "__KEY": 20 }, "manager": { "__KEY": 412 } }, { "ID": 417, "firstName": "Irma", "lastName": "Durham", "salary": 47000, "birthDate": "1992-06-16T00:00:00.000Z", "woman": true, "managerID": 412, "employerID": 20, "photo": "[object Picture]", "extra": null, "employer": { "__KEY": 20 }, "manager": { "__KEY": 412 } } ]
Beispiel mit dem Parameter options:
$employeesCollection:=New collection
$employees:=ds.Employee.all()
$employeesCollection:=$employees.toCollection("";dk with primary key+dk with stamp)
Ergibt:
[ { "__KEY": 416, "__STAMP": 1, "ID": 416, "firstName": "Gregg", "lastName": "Wahl", "salary": 79100, "birthDate": "1963-02-01T00:00:00.000Z", "woman": false, "managerID": 412, "employerID": 20, "photo": "[object Picture]", "extra": null, "employer": { "__KEY": 20 }, "manager": { "__KEY": 412 } }, { "__KEY": 417, "__STAMP": 1, "ID": 417, "firstName": "Irma", "lastName": "Durham", "salary": 47000, "birthDate": "1992-06-16T00:00:00.000Z", "woman": true, "managerID": 412, "employerID": 20, "photo": "[object Picture]", "extra": null, "employer": { "__KEY": 20 }, "manager": { "__KEY": 412 } }]
Beispiel mit Aufteilen und Filtern auf Eigenschaften:
$employeesCollection:=New collection
$filter:=New collection
$filter.push("firstName")
$filter.push("lastName")
$employees:=ds.Employee.all()
$employeesCollection:=$employees.toCollection($filter;0;0;2)
Ergibt:
[ { "firstName": "Gregg", "lastName": "Wahl" }, { "firstName": "Irma", "lastName": "Durham" } ]
Beispiel mit dem Typ relatedEntity in einfacher Form:
$employeesCollection:=New collection
$employeesCollection:=$employees.toCollection("firstName,lastName,employer")
Ergibt:
[ { "firstName": "Gregg", "lastName": "Wahl", "employer": { "__KEY": 20 } }, { "firstName": "Irma", "lastName": "Durham", "employer": { "__KEY": 20 } }, { "firstName": "Lorena", "lastName": "Boothe", "employer": { "__KEY": 20 } } ]
Beispiel mit dem Parameter filter als Collection:
[#code4D]$employeesCollection:=New collection
$coll:=New collection("firstName";"lastName")
$employeesCollection:=$employees.toCollection($coll)#/code4D]
Ergibt:
[ { "firstName": "Joanna", "lastName": "Cabrera" }, { "firstName": "Alexandra", "lastName": "Coleman" } ]
Beispiel mit Extraktion aller Eigenschaften einer relatedEntity:
$employeesCollection:=New collection
$coll:=New collection
$coll.push("firstName")
$coll.push("lastName")
$coll.push("employer.*")
$employeesCollection:=$employees.toCollection($coll)
Ergibt:
[ { "firstName": "Gregg", "lastName": "Wahl", "employer": { "ID": 20, "name": "India Astral Secretary", "creationDate": "1984-08-25T00:00:00.000Z", "revenues": 12000000, "extra": null } }, { "firstName": "Irma", "lastName": "Durham", "employer": { "ID": 20, "name": "India Astral Secretary", "creationDate": "1984-08-25T00:00:00.000Z", "revenues": 12000000, "extra": null } }, { "firstName": "Lorena", "lastName": "Boothe", "employer": { "ID": 20, "name": "India Astral Secretary", "creationDate": "1984-08-25T00:00:00.000Z", "revenues": 12000000, "extra": null } } ]
Beispiel mit Extraktion einiger Eigenschaften einer relatedEntity:
$employeesCollection:=New collection
$employeesCollection:=$employees.toCollection("firstName, lastName, employer.name")
Ergibt:
[ { "firstName": "Gregg", "lastName": "Wahl", "employer": { "name": "India Astral Secretary" } }, { "firstName": "Irma", "lastName": "Durham", "employer": { "name": "India Astral Secretary" } }, { "firstName": "Lorena", "lastName": "Boothe", "employer": { "name": "India Astral Secretary" } }]
Beispiel mit Extraktion einiger Eigenschaften von relatedEntities:
$employeesCollection:=New collection()
$employeesCollection:=$employees.toCollection("firstName, lastName, directReports.firstName")
Ergibt:
[ { "firstName": "Gregg", "lastName": "Wahl", "directReports": [] }, { "firstName": "Mike", "lastName": "Phan", "directReports": [ { "firstName": "Gary" }, { "firstName": "Sadie" }, { "firstName": "Christie" } ] }, { "firstName": "Gary", "lastName": "Reichert", "directReports": [ { "firstName": "Rex" }, { "firstName": "Jenny" }, { "firstName": "Lowell" } ] }]
Beispiel mit Extraktion aller Eigenschaften von relatedEntities:
$employeesCollection:=New collection
$employeesCollection:=$employees.toCollection("firstName, lastName, directReports.*")
Ergibt
[ { "firstName": "Gregg", "lastName": "Wahl", "directReports": [] }, { "firstName": "Mike", "lastName": "Phan", "directReports": [ { "ID": 425, "firstName": "Gary", "lastName": "Reichert", "salary": 65800, "birthDate": "1957-12-23T00:00:00.000Z", "woman": false, "managerID": 424, "employerID": 21, "photo": "[object Picture]", "extra": null, "employer": { "__KEY": 21 }, "manager": { "__KEY": 424 } }, { "ID": 426, "firstName": "Sadie", "lastName": "Gallant", "salary": 35200, "birthDate": "2022-01-03T00:00:00.000Z", "woman": true, "managerID": 424, "employerID": 21, "photo": "[object Picture]", "extra": null, "employer": { "__KEY": 21 }, "manager": { "__KEY": 424 } } ] }, { "firstName": "Gary", "lastName": "Reichert", "directReports": [ { "ID": 428, "firstName": "Rex", "lastName": "Chance", "salary": 71600, "birthDate": "1968-08-09T00:00:00.000Z", "woman": false, "managerID": 425, "employerID": 21, "photo": "[object Picture]", "extra": null, "employer": { "__KEY": 21 }, "manager": { "__KEY": 425 } }, { "ID": 429, "firstName": "Jenny", "lastName": "Parks", "salary": 51300, "birthDate": "1984-05-25T00:00:00.000Z", "woman": true, "managerID": 425, "employerID": 21, "photo": "[object Picture]", "extra": null, "employer": { "__KEY": 21 }, "manager": { "__KEY": 425 } } ] } ]
Produkt: 4D
Thema: ORDA - EntitySelection
Erstellt: 4D v17
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)