2016-07-19 11 views
1

私は、次のサーバー側のメソッドを持っています。Wakandaのサーバーサイドメソッドから複数のエンティティコレクションを返すことはできますか?

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"; 

私は、ブラウザからこの関数を呼び出すと、私はエラー、または応答を得ることはありません。私は複雑なオブジェクトをテストした、彼らは正常に戻ります、私は同様にうまく動作する単一のエンティティコレクション(collections.collection1)を返しました。

1回のリクエストでエンティティコレクションのグループを返すことができますか?ありがとう。

もっと明確にするために、私はフロントエンドでWAFと "onSuccess"パラメータを使用しています。

+0

私は、onSuccess関数の有無にかかわらず、2つのコレクション(あなたと同じ方法)を含むオブジェクトを返すことができました。 serverSideをデバッグして、サーバが返す前にオブジェクト "collections"に2つのコレクションが含まれていることを確認しようとしましたか? onSuccess関数では、event.resultオブジェクトにはどのようなものがありますか? –

答えて

1

dataClassで同様のメソッドを実行し、それを直接REST APIで呼び出すと、返されたオブジェクトにはエンティティの配列のみが含まれ、エンティティコレクションは含まれていないことがわかります。

例:

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

結果:

{ 
    "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" 
     }, 
     ... 
    ] 
    } 
} 

だから、あなたが実際にsensuの strictoコレクションを返すことはできませんが、ページングなどのコレクション機能を使用せず、その内容を返すことができ、

関連する問題