Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v19.8
entity.toObject( )

entity.toObject( ) 


 

entity.toObject ( filtro {; opciones} ) -> Resultado 
Parámetro Tipo   Descripción
filtro  Cadena, Collection in Atributo(s) a extraer
opciones  Entero largo in dk with primary key: añade la propiedad _KEY;
dk with stamp: añade la propiedad _STAMP
Resultado  Objeto in Objeto generado desde la entidad

El método entity.toObject( ) devuelve un objeto que se ha creado a partir de la entidad. Los nombres de las propiedades en el objeto correspondiente a los nombres de los atributos de la entidad.

En el parámetro filtro, pase los atributos de entidad a extraer. Se permiten dos sintaxis:

  • una cadena con rutas de propiedades separadas por comas: "propertyPath1, propertyPath2, ...".
  • una colección de cadenas: ["propertyPath1","propertyPath2";...]

Si filtro se especifica para atributos del tipo relatedEntity:

  • propertyPath = "relatedEntity" -> se extrae de forma simple: un objeto con propiedad __KEY (llave primaria).
  • propertyPath = "relatedEntity.*" -> se extraen todas las propiedades
  • propertyPath = "relatedEntity.propertyName1; relatedEntity.propertyName2; ..." -> solo se extraen esas propiedades

Si filtro se especifica para atributos del tipo relatedEntities:

  • propertyPath = "relatedEntities.*" -> se extraen todas las propiedades
  • propertyPath = "relatedEntities.propertyName1; relatedEntities.propertyName2; ..." -> solo se extraen esas propiedades

Si el parámetro filtro contiene una cadena vacía o "*", el objeto devuelto contendrá:

  • todos los atributos de tipo storage de la entidad
  • atributos del tipo relatedEntity: se obtiene una propiedad con el mismo nombre que la entidad relacionada (nombre del enlace muchos a uno). El atributo se extrae de forma simple.
  • atributos del tipo relatedEntities: atributo no revuelto.

En el parámetro opciones, puede pasar los selectore dk with primary key y/o dk with stamp para agregar las llaves primarias y/o los stamps en los objetos extraídos.

La estructura siguiente será utilizada para los ejemplos de esta sección:

Sin parámetro filtro:

 employeeObject:=employeeSelected.toObject()

Devuelve:

{
    "ID": 413,
    "firstName": "Greg",
    "lastName": "Wahl",
    "salary": 0,
    "birthDate": "1963-02-01T00:00:00.000Z",
    "woman": false,
    "managerID": 412,
    "employerID": 20,
    "photo": "[object Picture]",
    "extra": null,
    "employer": { // relatedEntity extraído de forma simple
        "__KEY": 20
    },
    "manager": {
        "__KEY": 412
    }
}

Extracción de la llave primaria y del stamp:

 employeeObject:=employeeSelected.toObject("";dk with primary key+dk with stamp)

Devuelve:

{
    "__KEY": 413,
   "__STAMP": 1,
    "ID": 413,
    "firstName": "Greg",
    "lastName": "Wahl",
    "salary": 0,
    "birthDate": "1963-02-01T00:00:00.000Z",
    "woman": false,
    "managerID": 412,
    "employerID": 20,
    "photo": "[object Picture]",
    "extra": null,
    "employer": {
        "__KEY": 20
    },
    "manager": {
        "__KEY": 412
    }
}

Extracción completa de los atributos de las relatedEntities:

 employeeObject:=employeeSelected.toObject("directReports.*")

{
    "directReports": [
        {
            "ID": 418,
            "firstName": "Lorena",
            "lastName": "Boothe",
            "salary": 44800,
            "birthDate": "1970-10-02T00:00:00.000Z",
            "woman": true,
            "managerID": 413,
            "employerID": 20,
            "photo": "[object Picture]",
            "extra": null,
            "employer": {
                "__KEY": 20
            },
            "manager": {
                "__KEY": 413
            }
        },
        {
            "ID": 419,
            "firstName": "Drew",
            "lastName": "Caudill",
            "salary": 41000,
            "birthDate": "2030-01-12T00:00:00.000Z",
            "woman": false,
            "managerID": 413,
            "employerID": 20,
            "photo": "[object Picture]",
            "extra": null,
            "employer": {
                "__KEY": 20
            },
            "manager": {
                "__KEY": 413
            }
        },
        {
            "ID": 420,
            "firstName": "Nathan",
            "lastName": "Gomes",
            "salary": 46300,
            "birthDate": "2010-05-29T00:00:00.000Z",
            "woman": false,
            "managerID": 413,
            "employerID": 20,
            "photo": "[object Picture]",
            "extra": null,
            "employer": {
                "__KEY": 20
            },
            "manager": {
                "__KEY": 413
            }
        }
    ]
}

Extracción de algunos atributos de las relatedEntities:

 employeeObject:=employeeSelected.toObject("firstName, directReports.lastName")

Devuelve:

{
    "firstName": "Greg",
    "directReports": [
        {
            "lastName": "Boothe"
        },
        {
            "lastName": "Caudill"
        },
        {
            "lastName": "Gomes"
        }
    ]
}

Extracción de una relatedEntity de forma simple:

 $coll:=New collection("firstName";"employer")
 employeeObject:=employeeSelected.toObject($coll)

Devuelve:

{
    "firstName": "Greg",
    "employer": {
        "__KEY": 20
    }
}

Extracción de todos los atributos de una relatedEntity:

 employeeObject:=employeeSelected.toObject("employer.*")

Devuelve:

{
    "employer": {
        "ID": 20,
        "name": "India Astral Secretary",
        "creationDate": "1984-08-25T00:00:00.000Z",
        "revenues": 12000000,
        "extra": null
    }
}

Extracción de algunos atributos de una relatedEntity:

 $col:=Creer collection
 $col.push("employer.name")
 $col.push("employer.revenues")
 employeeObject:=employeeSelected.toObject($col)

Devuelve:

{
    "employer": {
        "name": "India Astral Secretary",
        "revenues": 12000000
    }
}



Ver también 

entity.fromObject( )

 
PROPIEDADES 

Producto: 4D
Tema: ORDA - Entity

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v17

 
ARTICLE USAGE

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)