Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v19.8
entity.toObject( )

entity.toObject( ) 


 

entity.toObject ( filtre {; options} ) -> Résultat 
Paramètre Type   Description
filtre  Chaîne, Collection in Attribut(s) à extraire
options  Entier long in dk with primary key : ajouter la propriété _KEY ;
dk with stamp : ajouter la propriété _STAMP
Résultat  Objet in Objet généré à partir de l'entité

La méthode entity.toObject( ) retourne un objet construit à partir de l'entité. Les noms des propriétés de l'objet correspondent aux noms des attributs de l'entité.

Dans le paramètre filtre, indiquez le ou les attribut(s) à extraire. Deux syntaxes sont acceptées :

  • un chaîne avec les chemins de propriétés séparés par des virgules : "propertyPath1, propertyPath2, ...".
  • une collection de chaînes : ["propertyPath1","propertyPath2";...]

Si filtre contient des attributs du type (kind) relatedEntity :

  • propertyPath = "relatedEntity" -> l'attribut est extrait sous forme simple : un objet avec la propriété __KEY (clé primaire).
  • propertyPath = "relatedEntity.*" -> tous les attributs sont extraits
  • propertyPath = "relatedEntity.propertyName1; relatedEntity.propertyName2; ..." -> seuls les attributs listés sont extraits.

Si filtre contient des attributs du type (kind) relatedEntities :

  • propertyPath = "relatedEntities.*" -> tous les attributs sont extraits.
  • propertyPath = "relatedEntities.propertyName1; relatedEntities.propertyName2; ..." -> seuls les attributs listés sont extraits.

Si filter contient une chaîne vide ou "*", l'objet retourné contiendra :

  • tous les attributs du type (kind) storage de l'entité
  • attributs du type relatedEntity : vous obtenez une propriété avec le même nom que l'entité liée (nom du lien N vers 1). L'attribut est extrait sous forme simple.
  • attributs du type relatedEntities : non retourné(s).

Dans le paramètre options, vous pouvez passer les sélecteurs dk with primary key et/ou dk with stamp afin d'ajouter les clés primaires et/ou les stamps dans les objets extraits.

La structure suivante sera utilisée pour les exemples de cette section :

Sans paramètre filtre :

 employeeObject:=employeeSelected.toObject()

Retourne :

{
    "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 extraite sous forme simple
        "__KEY": 20
    },
    "manager": {
        "__KEY": 412
    }
}

Extraction de la clé primaire et du stamp :

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

Retourne :

{
    "__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
    }
}

Extraction complète des attributs des 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
            }
        }
    ]
}

Extraction de quelques attributs des relatedEntities :

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

Retourne :

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

Extraction d'une relatedEntity sous forme simple :

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

Retourne :

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

Extraction de tous les attributs d'une relatedEntity :

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

Retourne :

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

Extraction de quelques attributs d'une relatedEntity :

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

Retourne :

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



Voir aussi  

entity.fromObject( )

 
PROPRIÉTÉS 

Produit : 4D
Thème : ORDA - Entity
Nom intl. : entity.toObject( )

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v17

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v19)
4D - Langage ( 4D v19.1)
4D - Langage ( 4D v19.4)
4D - Langage ( 4D v19.5)
4D - Langage ( 4D v19.6)
4D - Langage ( 4D v19.7)
4D - Langage ( 4D v19.8)