Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v19.8
entitySelection.extract( )

entitySelection.extract( ) 


 

entitySelection.extract ( propriedadeRota {; alvoRota}{; propriedadeRota2 ; alvoRota2 ; ... ; propriedadeRotaN ; alvoRotaN}{; opção}) -> Resultado 
Parâmetro Tipo   Descrição
propriedadeRota  Texto in Propriedade de rota cujos valores devem ser extraidos para a nova coleção
alvoRota  Texto in propriedade da rota alvo ou nome da propriedade
opção  Inteiro longo in ck keep null; inclui propriedades null na coleção retornada (ignorada como padrão). Parâmetro ignorado se alvoRota for passado
Resultado  Collection in Coleção contendo valores extraídos

O método entitySelection.extract( ) retorna uma coleção contendo valores propriedadeRota extraídos da seleção de entidades. 

propriedadeRota podem referir a:

  • um atributo de classe de dados escalar,
  • entidade relacionada,
  • entidades relacionadas.

Se propriedadeRota é inválida, uma coleção vazia é retornada.

Este método aceita duas sintaxes.

With this syntax, entitySelection.extract( ) populates the returned collection with the propertyPath values of the entity selection.

By default, entities for which propertyPath is null or undefined are ignored in the resulting collection. You can pass the ck keep null constant in the option parameter to include these values as null elements in the returned collection.

  • Dataclass attributes with dataClassAttribute.kind = "relatedEntity" are extracted as a collection of entities (duplications are kept).
  • Dataclass attributes with dataClassAttribute.kind = "relatedEntities" are extracted as a collection of entity selections.

With this syntax, entitySelection.extract( ) populates the returned collection with the propertyPath properties. Each element of the returned collection is an object with targetPath properties filled with the corresponding propertyPath properties. Null values are kept (option parameter is ignored with this syntax). 

If several propertyPath are given, a targetPath must be given for each. Only valid pairs [propertyPathtargetPath] are extracted.

 

Note: Entities of a collection of entities accessed by [ ] are not reloaded from the database.

Exemplo  

Dada a tabela abaixo e relação:

 C_COLLECTION($firstnames;$addresses;$mailing;$teachers)
 C_OBJECT($status)
  //
  //
  //$firstnames é uma coleção de String
 $firstnames:=ds.Teachers.all().extract("firstname")
  //
  //$addresses é uma coleção de entidades relacionadas à classe de dados Address
  //Valores Null para endereços são extraídos
 $addresses:=ds.Teachers.all().extract("address";ck keep null)
  //
  //
  //$mailing é uma coleção de objetos com propriedades "who" e "to"
  //conteúdo da propriedade "who" é tipo  String
  //conteúdo da propriedade "to" é tipo entidade (classe de dados Address)
 $mailing:=ds.Teachers.all().extract("lastname";"who";"address";"to")
  //
  //
  //$mailing é uma coleção de objetos com propriedades "who" e "city"
  //conteúdo da propriedade "who" é tipo String
  //conteúdo da propriedade "city" é tipo String
 $mailing:=ds.Teachers.all().extract("lastname";"who";"address.city";"city")
  //
  //$teachers é uma coleção de objetos com propriedades "where" e "who"
  //conteúdo propriedade "where" é String
  //conteúdo propriedade "who" é uma seleção de entidade (classe de dados Teachers)
 $teachers:=ds.Address.all().extract("city";"where";"teachers";"who")
  //
  //$teachers é uma coleção de seleção de entidades
 $teachers:=ds.Address.all().extract("teachers")



Ver também 

collection.extract( )

 
PROPRIEDADES 

Produto: 4D
Tema: ORDA - seleção de entidade

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v18 R3

 
ARTICLE USAGE

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)