2016-07-19 6 views
1

Ich habe die folgende Server-Seite-Methode:Ist es möglich, mehrere Entitätssammlungen von einer serverseitigen Methode in Wakanda zurückzugeben?

model.Public.someMethod = function(){ 
    var collections = {}; 
    collections.collection1 = ds.SomeClass.query("ID > 10"); 
    collections.collection2 = ds.SomeOtherClass.query("ID > 10"); 
    return collections; 
} 
model.Public.someMethod.scope = "public"; 

Wenn ich diese Funktion im Browser aufrufen, ich einen Fehler nicht erhalten, oder eine Antwort. Ich habe komplexe Objekte getestet, sie kommen gut an, ich habe eine einzelne Entitätssammlung (collections.collection1) zurückgegeben, die ebenfalls gut funktioniert.

Kann ich eine Gruppe von Entitätssammlungen in einer Anfrage zurückgeben? Vielen Dank.

Um klarer zu werden, verwende ich WAF am Frontend und den "OnSuccess" -Parameter.

+0

Ich konnte ein Objekt zurückgeben, das zwei Auflistungen enthält (auf die gleiche Weise, wie Sie es versucht haben) mit und ohne die onSuccess-Funktion. Haben Sie versucht, serverside zu debuggen, um sicherzustellen, dass das Objekt "Sammlungen" die 2 Sammlungen enthält, bevor der Server es zurückgibt? Und in der onSuccess-Funktion, was erhalten Sie in event.result Objekt? –

Antwort

1

Wenn Sie eine ähnliche Methode für eine dataClass verwenden und sie direkt mit der REST-API aufrufen, zeigt dies, dass das zurückgegebene Objekt nur Arrays von Entitäten und nicht Entitätssammlungen enthält.

Beispiel:

model.Employee.methods.employeesBySalary = function() { 
    var high = ds.Employee.query("salary > 100000"); 
    var low = ds.Employee.query("salary < 40000"); 
    return {high: high, low: low}; 
}; 

Ergebnis:

{ 
    "result": { 
    "high": [ 
     { 
     "__KEY": "56033", 
     "__STAMP": 111, 
     "ID": 56033, 
     "lastName": "BUDADO", 
     "firstName": "TIMOTHY", 
     "salary": 149541 
     }, 
     ... 
    ], 
    "low": [ 
     { 
     "__KEY": "55938", 
     "__STAMP": 111, 
     "ID": 55938, 
     "lastName": "RATUSA", 
     "firstName": "IRWIN" 
     }, 
     ... 
    ] 
    } 
} 

Also, man kann tatsächlich nicht zurück Sammlungen sensu stricto, aber Sie können ihren Inhalt zurückgeben, ohne die Sammlung Funktionen wie Paging, usw.

Verwandte Themen