Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
entitySelection.extract( )
|
entitySelection.extract ( rutaProp {; rutaObj}{; rutaProp2 ; rutaObj2 ; ... ; rutaPropN ; rutaObjN}{; opcion}) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
rutaProp | Texto |
![]() |
Ruta de propiedad cuyos valores se deben extraer a la nueva colección | |||||
rutaObj | Texto |
![]() |
Ruta de propiedad de objetivo o nombre de propiedad | |||||
opcion | Entero largo |
![]() |
ck keep null: incluye propiedades nulas en la colección devuelta (ignorado por defecto). Parámetro ignorado si se pasa rutaObj. | |||||
Resultado | Collection |
![]() |
Colección que contiene los valores extraídos | |||||
El método entitySelection.extract( ) devuelve una colección que contiene los valores rutaProp extraídos de la selección de entidades.
rutaProp puede referirse a:
Si rutaProp no es válido, se devuelve una colección vacía.
Este método acepta dos sintaxis.
Con esta sintaxis, entitySelection.extract( ) llena la colección devuelta con los valores de rutaProp de la selección de entidades.
Por defecto, las entidades para las que rutaProp es null o indefinida se ignoran en la colección resultante. Puede pasar la constante ck keep null en el parámetro opcion para incluir estos valores como elementos null en la colección devuelta.
Con esta sintaxis, entitySelection.extract( ) llena la colección devuelta con las propiedades rutaProp y cada elemento de la colección es un objeto con propiedades rutaObj llenas con las propiedades correspondientes de propertyPath. Los valores Null se mantienen (el parámetro opcion se ignora con esta sintaxis).
Si se dan varias rutaProp, una rutaObj se debe dar para cada una. Solo se extraen los pares válidos [rutaProp , rutaObj ].
Nota: las entidades de una colección de entidades accedidas por [ ] no se vuelven a cargar desde la base de datos.
Dada la siguiente tabla y relación:
C_COLLECTION($firstnames;$addresses;$mailing;$teachers)
C_OBJECT($status)
//
//
//$firstnames es una colección de Cadenas
$firstnames:=ds.Teachers.all().extract("firstname")
//
//$addresses es una colección de entidades relacionadas con la clase de datos Address
//Se extraen valores nulls de address
$addresses:=ds.Teachers.all().extract("address";ck keep null)
//
//
//$mailing es una colección de objetos con propiedades "who" y "to"
//el contenido de la propiedad "who" es de tipo Cadena
//el contenido de la propiedad "to" es de tipo entidad (dataclass Address)
$mailing:=ds.Teachers.all().extract("lastname";"who";"address";"to")
//
//
//$mailing es una colección de objetos con propiedades "who" y "city"
//el contenido de la propiedad "who" es de tipo Cadena
//el contenido de la propiedad "city" es de tipo Cadena
$mailing:=ds.Teachers.all().extract("lastname";"who";"address.city";"city")
//
//$teachers es una colección de objetos con propiedades "where" y "who"
//el contenido de la propiedad "where" es Cadena
//el contenido de la propiedad "who" es una selección de entidades (dataclass Teachers)
$teachers:=ds.Address.all().extract("city";"where";"teachers";"who")
//
//$teachers es una colección de selecciones de entidades
$teachers:=ds.Address.all().extract("teachers")
Producto: 4D
Tema: ORDA - EntitySelection
Creado por: 4D v18 R3
Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)