モデルと、hasOne 関連付けを含む関連モデルの情報を取得しようとしています。次の Sencha ドキュメント ページ ( http://docs.sencha.com/ext-js/4-1/#!/guide/data ) を参照していました。現在、次のサンプルコードが機能しています。
var Mtd = Ext.ModelMgr.getModel('Mtd');
Mtd.load(4, {
success: function(mtd){
console.log("Loaded! " + mtd.get('id'));
mtd.getTreatmentdesign(function(treatment,operation){
console.log(treatment.get('id'));
}, this);
}
});
ここで、mtd.getTreatmentdesign() を呼び出すと、情報を取得するために 2 つの要求が行われることに気付きました。最初のものは、私が期待している Mtd 情報を取得することですが、Treatmentdesign 情報を取得する要求も行っています。Mtd の応答には、Mtd 情報と Treatmentdesign 情報が含まれています。そこで、Mtd と Treatmentdesign の情報を 1 回のリクエストで処理したいと考えています。ドキュメントに次のように記載されていることに戸惑いました。
User.load 呼び出しに成功関数を渡したのに、User の投稿やコメントにアクセスするときに渡す必要がなかった理由を不思議に思われるかもしれません。これは、上記の例では、ユーザーを取得するためのリクエストを行うと、サーバーがネストされたすべての投稿とコメントに加えてユーザー データを返すと想定しているためです。上記のように関連付けを設定することで、フレームワークはネストされたデータを単一のリクエストで自動的に解析できます。
では、別のリクエストを行わずに関連情報を取得するにはどうすればよいでしょうか? 複数のリクエストを行うのではなく、単一のリクエストからすべてのjsonを使用したいだけです。