4D v18

entity.fromObject( )

Accueil

 
4D v18
entity.fromObject( )

entity.fromObject( )  


 

La méthode entity.fromObject( ) remplit les attributs de l'entité avec le contenu de objet.

Note : Cette méthode modifie l'entité d'origine.

La correspondance entre l'objet et l'entité est établie à partir des noms de propriétés/d'attributs :

  • si une propriété de l'objet n'existe pas dans la dataclass, elle est ignorée.
  • les types de données traitées doivent être équivalents. Si le type d'une propriété de l'objet est différent de celui de l'attribut homonyme de la dataclass, 4D tente de convertir les données dans la mesure du possible (voir Types de données), sinon l'attribut n'est pas modifié.

objet peut contenir une related entity dans les conditions suivantes :

  • objet contient lui-même la clé étrangère, ou
  • objet contient une propriété de type objet qui a le même nom que l'entité relative, contenant une seule propriété nommée "__KEY",
  • si l'entité relative n'existe pas, elle est ignorée.

Exemple  

Avec l'objet $o suivant :

{
    "firstName": "Mary",
    "lastName": "Smith",
    "salary": 36500,
    "birthDate": "1958-10-27T00:00:00.000Z",
    "woman": true,
    "managerID": 411,// relatedEntity fournie avec clé primaire
    "employerID": 20 // relatedEntity fournie avec clé primaire
}

Le code suivant créera une entité avec les entités relatives manager et employer.

 C_OBJECT($o)
 $entity:=ds.Emp.new()
 $entity.fromObject($o)
 $entity.save()

Vous pouvez également utiliser une entité relative fournie sous forme d'objet :

{
    "firstName": "Marie",
    "lastName": "Lechat",
    "salary": 68400,
    "birthDate": "1971-09-03T00:00:00.000Z",
    "woman": false,
    "employer": {// relatedEntity fournie sous forme d'objet
        "__KEY": "21"
    },
    "manager": {// relatedEntity fournie sous forme d'objet
        "__KEY": "411"
    }
}



Voir aussi  

entity.toObject( )

 
PROPRIÉTÉS 

Produit : 4D
Thème : ORDA - Entity

 
PAGE CONTENTS 
 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v18)