Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v19.8
entity.toObject( )

entity.toObject( ) 


 

entity.toObject ( filter {; options} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
filter  String, Collection in Gibt die Eigenschaften zum Extrahieren an
options  Lange Ganzzahl in dk with primary key: fügt die Eigenschaft _KEY hinzu,
dk with stamp: fügt die Eigenschaft _STAMP hinzu
Funktionsergebnis  Objekt in Aus der Entity erstelltes Objekt

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 

Erstellt: 4D v17

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)
4D Programmiersprache ( 4D v19.4)
4D Programmiersprache ( 4D v19.5)
4D Programmiersprache ( 4D v19.6)
4D Programmiersprache ( 4D v19.7)
4D Programmiersprache ( 4D v19.8)