4D v18

entity.toObject( )

Inicio

 
4D v18
entity.toObject( )

entity.toObject( )  


 

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 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v18)