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.fromObject( )

entity.fromObject( ) 


 

entity.fromObject ( objeto ) 
Parámetro Tipo   Descripción
objeto  Objeto in Objeto desde el cual llenar la entidad

El método entity.fromObject( ) llena la entidad con el contenido objeto.

Nota: este método modifica la entidad original.

El mapeo entre el objeto y la entidad se realiza en los nombres de los atributos:

  • Si una propiedad del objeto no existe en la dataclass, se ignora.
  • Los tipos de datos deben ser equivalentes. Si hay una discrepancia de tipo entre el objeto y la dataclass, 4D intenta convertir los datos siempre que sea posible (ver RELATE MANY), de lo contrario, el atributo quedará intacto.
  • La llave primaria puede darse tal cual o con una propiedad "__KEY" ( llena con el valor de la llave primaria). Si no existe ya en la clase de datos, la entidad se crea con el valor dado cuando se llama a entity.save( ). Si no se da la llave primaria, la entidad se crea y el valor de la llave primaria se asigna con respecto a las reglas de la base de datos. El autoincremento sólo se calcula si la llave primaria es nula.

objeto puede contener una related entity bajo las siguientes condiciones:

  • objeto objeto contiene la llave foránea en sí, o
  • objeto contiene una propiedad  de tipo objeto con el mismo nombre que la entidad relativa, que contiene una sola propiedad llamada "__KEY".
  • si la entidad relativa no existe, se ignora.

Ejemplo  

Con el objeto $o siguiente:

{
    "firstName": "Mary",
    "lastName": "Smith",
    "salary": 36500,
    "birthDate": "1958-10-27T00:00:00.000Z",
    "woman": true,
    "managerID": 411,// relatedEntity ofrecida con la llave primaria
    "employerID": 20 // relatedEntity ofrecida con la llave primaria
}

El siguiente código creará una entidad con las entidades relativas manager y employer.

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

Puede igualmente utilizar una entidad relativa ofrecida en forma de objeto:

{
    "firstName": "Marie",
    "lastName": "Lechat",
    "salary": 68400,
    "birthDate": "1971-09-03T00:00:00.000Z",
    "woman": false,
    "employer": {// relatedEntity ofrecida en forma de objeto
        "__KEY": "21"
    },
    "manager": {// relatedEntity fofrecida en forma de objeto
        "__KEY": "411"
    }
}



Ver también 

entity.toObject( )

 
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)