4D v17.4

entity.toObject( )

Home

 
4D v17.4
entity.toObject( )

entity.toObject( )  


 

Die Methode entity.toObject( ) gibt ein Objekt zurück, das aus der Entity erstellt wurde. Eigenschaftsnamen im Objekt entsprechen den Attributsnamen der Entity.

Im Parameter filter übergeben Sie die zu extrahierenden Entity Attribute. Zwei Syntaxarten sind erlaubt:

  • Ein String mit Eigenschaftspfaden, getrennt durch Kommas: "propertyPath1, propertyPath2, ...".
  • Eine Collection von Strings: ["propertyPath1","propertyPath2";...]

Wird filter für Attribute vom Typ relatedEntity angegeben:

  • propertyPath = "relatedEntity" -> wird als einfache Form extrahiert: ein Objekt mit der Eigenschaft __KEY (Primärschlüssel).
  • propertyPath = "relatedEntity.*" -> alle Eigenschaften werden extrahiert
  • propertyPath = "relatedEntity.propertyName1; relatedEntity.propertyName2; ..." -> nur diese Eigenschaften werden extrahiert

Wird filter für Attribute vom Typ relatedEntities angegeben:

  • propertyPath = "relatedEntities.*" -> alle Eigenschaften werden extrahiert
  • propertyPath = "relatedEntities.propertyName1; relatedEntities.propertyName2; ..." -> nur diese Eigenschaften werden extrahiert

Enthält der Parameter filter einen leeren String oder "*", enthält das zurückgegebene Objekt:

  • alle Speicherattribute der Entity
  • Attribute vom Typ relatedEntity: Sie erhalten eine Eigenschaft mit demselben Namen wie die verknüpfte Entity (Name der Verknüpfung Viele-zu-Eine). Attribut wird als einfache Form extrahiert
  • Attribute vom Typ relatedEntities werden nicht zurückgegeben.

Im Parameter options können Sie die Selektoren dk with primary key bzw. dk with stamp übergeben, um die Primärschlüssel bzw. Stempel in extrahierten Objekten hinzuzufügen.

Folgende Struktur wird für alle Beispiele dieses Abschnitts verwendet:

Ohne Parameter filter:

 employeeObject:=employeeSelected.toObject()

Ergibt:

{
    "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 als einfache Form
        "__KEY": 20
    },
    "manager": {
        "__KEY": 412
    }
}

Primärschlüssel und Stempel extrahieren:

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

Ergibt:

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

Alle Attribute der relatedEntities extrahieren:

 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
            }
        }
    ]
}

Einige Attribute von relatedEntities extrahieren:

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

Ergibt:

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

Eine relatedEntity in einfacher Form extrahieren:

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

Ergibt:

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

Alle Attribute einer relatedEntity extrahieren:

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

Ergibt:

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

Einige Attribute einer relatedEntity extrahieren:

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

Ergibt:

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



Siehe auch 

entity.fromObject( )

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: ORDA - Entity

 
SEITENINHALT 
 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v17)
4D Programmiersprache ( 4D v17.1)
4D Programmiersprache ( 4D v17.2)
4D Programmiersprache ( 4D v17.3)
4D Programmiersprache ( 4D v17.4)