This is the legacy 4D documentation web site. Documentations are progressively being moved to developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
entitySelection.toCollection( )
|
entitySelection.toCollection ( {filter ;}{ options {; begin {; howMany}}} ) -> Result | ||||||||
Parameter | Type | Description | ||||||
filter | String, Collection |
![]() |
Specifies which entity properties to extract | |||||
options | Longint |
![]() |
dk with primary key: adds the primary key dk with stamp: adds the stamp |
|||||
begin | Longint |
![]() |
Designates the starting index | |||||
howMany | Longint |
![]() |
Number of entities to extract | |||||
Result | Collection |
![]() |
Collection of objects containing attributes and values of entity selection | |||||
The entitySelection.toCollection( ) method creates and returns a collection where each element is an object containing a set of properties and values corresponding to the attribute names and values for the entity selection.
If the filter parameter is omitted or contains an empty string or "*", all the attributes are extracted. Attributes with "kind" property as "relatedEntity" are extracted with the simple form: an object with property __KEY (primary key). Attributes with "kind" property as "relatedEntities" are not extracted.
In the filter parameter, you can pass the entity attributes to extract. Two syntaxes are allowed:
If filter is specified for attributes of the relatedEntity kind:
If filter is specified for attributes of the relatedEntities kind:
In the options parameter, you can pass the dk with primary key and/or dk with stamp selector(s) to add the entity's primary keys and/or stamps in extracted objects.
The begin parameter allows you to indicate the starting index of the entities to extract. You can pass any value between 0 and entity selection length-1.
The howMany parameter lets you specify the number of entities to extract, starting with the one specified in begin. Dropped entities are not returned but are taken into account according to howMany. For example, if howMany= 3 and there is 1 dropped entity, only 2 entities are extracted.
If howMany > length of the entity selection, the method returns (length - begin) objects.
An empty collection is returned if:
The following structure will be used throughout all examples of this section:
Example without filter or options parameter:
C_COLLECTION($employeesCollection)
C_OBJECT($employees)
$employeesCollection:=New collection
$employees:=ds.Employee.all()
$employeesCollection:=$employees.toCollection()
Returns:
[ { "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 } } ]
Example with options:
$employeesCollection:=New collection
$employees:=ds.Employee.all()
$employeesCollection:=$employees.toCollection("";dk with primary key+dk with stamp)
Returns:
[ { "__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 } }]
Example with slicing and filtering on properties:
$employeesCollection:=New collection
$filter:=New collection
$filter.push("firstName")
$filter.push("lastName")
$employees:=ds.Employee.all()
$employeesCollection:=$employees.toCollection($filter;0;0;2)
Returns:
[ { "firstName": "Gregg", "lastName": "Wahl" }, { "firstName": "Irma", "lastName": "Durham" } ]
Example with relatedEntity type with simple form:
$employeesCollection:=New collection
$employeesCollection:=$employees.toCollection("firstName,lastName,employer")
returns:
[ { "firstName": "Gregg", "lastName": "Wahl", "employer": { "__KEY": 20 } }, { "firstName": "Irma", "lastName": "Durham", "employer": { "__KEY": 20 } }, { "firstName": "Lorena", "lastName": "Boothe", "employer": { "__KEY": 20 } } ]
Example with filter as a collection:
$employeesCollection:=New collection
$coll:=New collection("firstName";"lastName")
$employeesCollection:=$employees.toCollection($coll)
Returns:
[ { "firstName": "Joanna", "lastName": "Cabrera" }, { "firstName": "Alexandra", "lastName": "Coleman" } ]
Example with extraction of all properties of a relatedEntity:
$employeesCollection:=New collection
$coll:=New collection
$coll.push("firstName")
$coll.push("lastName")
$coll.push("employer.*")
$employeesCollection:=$employees.toCollection($coll)
Returns:
[ { "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 } } ]
Example with extraction of some properties of a relatedEntity:
$employeesCollection:=New collection
$employeesCollection:=$employees.toCollection("firstName, lastName, employer.name")
[ { "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" } }]
Example with extraction of some properties of relatedEntities:
$employeesCollection:=New collection
$employeesCollection:=$employees.toCollection("firstName, lastName, directReports.firstName")
Returns:
[ { "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" } ] }]
Example with extraction of all properties of relatedEntities:
$employeesCollection:=New collection
$employeesCollection:=$employees.toCollection("firstName, lastName, directReports.*")
[ { "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 } } ] } ]
Product: 4D
Theme: ORDA - EntitySelection
Created: 4D v17
4D Language Reference ( 4D v19)
4D Language Reference ( 4D v19.1)
4D Language Reference ( 4D v19.4)
4D Language Reference ( 4D v19.5)
4D Language Reference ( 4D v19.6)
4D Language Reference ( 4D v19.7)
4D Language Reference ( 4D v19.8)