Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
entitySelection.toCollection( )
|
entitySelection.toCollection ( {filtro ;}{ opções {; Inicio {; quantos}}} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
filtro | String, Collection |
![]() |
Especifica quais propriedades de entidade vai extrair | |||||
opções | Inteiro longo |
![]() |
dk com chave primária: adds the primary key dk with stamp: adiciona a stamp | |||||
Inicio | Inteiro longo |
![]() |
Determina o índice de início | |||||
quantos | Inteiro longo |
![]() |
Número de entidades a extrair | |||||
Resultado | Collection |
![]() |
Coleção de objetos que contém atributos e valores da coleção da entidade | |||||
O método entitySelection.toCollection( ) cria e devolve uma coleção onde cada elemento é um objeto que contém um conjunto de propriedades e valores correspondentes aos nomes e valores de atributos para a coleção de entidades .
Se omitir o parâmetro filtro ou conter uma string vazia ou "*", são extraídos todos os atributos. Os atributos com a propriedade "kind" "relatedEntity" são extraidos da forma simples: um objeto com propriedade __KEY (chave principal). Os atributos com a propriedade "kind" "relatedEntities" não são extraídos.
No parâmetro filtro, pode passar os atributos de entidade a serem extraidos. Duas sintaxes são permitidas:
Se filtro é especificado para atributos do tipo relatedEntity:
Se filtro for especificado para atributos do tipo relatedEntities:
No parâmetro opções, pode passar os seletores dk with primary key ou dk with stamp para agregar as chaves principais ou stamps da entidade nos objetos extraídos.
O parâmetro inicio lhe permite indicar o índice inicial das entidades a extrair. Pode passar qualquer valor entre 0 e a entidade de seleção-1.
O parâmetro quantas lhe permite especificar o número de entidades a extrair, começando com a especificada em inicio. As entidades soltadas não são devolvidas, mas são consideradas de acordo com quantas. Por exemplo, se quantas= 3 e houver 1 entidade soltada, só são extraídas 2 entidades.
Se quantas> longitude da seleção de entidade, o método devolve objetos (length - inicio).
Se devolve uma coleção vazia se:
A estrutura abaixo é usada em todos os exemplos desta seção:
Exemplo sem parâmetro filtro:
employeesCollection:=New collection
employeesCollection:=$entitySelection.toCollection()
[ { "ID": 411, "firstName": "Joanna", "lastName": "Cabrera", "salary": 75000, "birthDate": "2014-01-18T00:00:00.000Z", "woman": true, "managerID": 0, "employerID": 20, "photo": "[object Picture]", "extra": null, "employer": { "__KEY": "20", "__STAMP": 1 }, "directReports": { "__COUNT": 3 } }, { "ID": 412, "firstName": "Alexandra", "lastName": "Coleman", "salary": 36500, "birthDate": "1958-10-27T00:00:00.000Z", "woman": true, "managerID": 411, "employerID": 20, "photo": "[object Picture]", "extra": null, "employer": { "__KEY": "20", "__STAMP": 1 }, "manager": { "__KEY": "411", "__STAMP": 1 }, "directReports": { "__COUNT": 3 } } ]
Exemplo com opções:
$employeesCollection:=New collection
$employees:=ds.Employee.all()
$employeesCollection:=$employees.toCollection("";dk with primary key+dk with stamp)
Retorna:
[ { "__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" } ]
Exemplo com o tipo relatedEntity com um formulário simples:
employeesCollection:=New collection
employeesCollection:=$entitySelection.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 } } ]
Exemplo com filtro como uma coleção:
employeesCollection:=New collection
$coll:=New collection("firstName";"lastName")
employeesCollection:=$entitySelection.toCollection($coll)
Returns:
[ { "firstName": "Joanna", "lastName": "Cabrera" }, { "firstName": "Alexandra", "lastName": "Coleman" } ]
Exemplo com a extração de todas as propriedades de relatedEntity:
employeesCollection:=New collection
$coll:=New collection
$coll.push("firstName")
$coll.push("lastName")
$coll.push("employer.*")
employeesCollection:=$entitySelection.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 } } ]
Exemplo com extração de algumas propriedades de uma relatedEntity:
employeesCollection:=New collection()
employeesCollection:=$entitySelection.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" } }]
Exemplo com extração de algumas propriedades de 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" } ] }]
Exemplo com extração de todas as propriedades de 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 } } ] } ]
Produto: 4D
Tema: ORDA - seleção de entidade
Criado por: 4D v17
Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)