2011-11-15 4 views
8

ExtJS4でhasManyの関係で '入れ子'データをロードしようとしています。 私のモデルは次のようになります。ExtJSに多数のデータをロードする

Ext.define("Entrypage.model.Entrypage",{ 
    extend: "Ext.data.Model", 
    fields: ['id','title','urlkey','text','picture','keywords', 'searchterms','description','critriamodus'], 
    hasMany: {model: 'EntrypageCriterium',name:'brands'}, 
    proxy: { 
     type: 'ajax', 
     url: '/Admin/extjson/entrypages', 
     reader: {type:'json', root:'entrypages'} 
    } 
}); 

そしてEntrypageCriterium

Ext.define("Entrypage.model.EntrypageCriterium",{ 
    extend: "Ext.data.Model", 
    fields: ['id','type','title'] 
}); 

を私はそうのように私のデータをロードする:それは結構ロード

Entrypage.load("nikon-coolpix",{success:function(record,options,success){ 
console.log(record); 
}}); 

。 Jsonはこれを返します:

{ 
    "success": true,   
"entrypages":[{ 
    "id":"1", 
    "urlkey":"nikon-coolpix", 
    "title":"Nikon Coolpix", 
    "text":"Some blahblah about Nikon", 
    "keywords":"nikon,coolpix,digitale,camera", 
    "description":"Nikon Coolpix camera's", 
    "picture":"Nikon Coolpix camera's", 
    "searchterms":"nikon coolpix", 
    "language":"nl", 
    "brands":[ 
     {"id":27038,"title":"Nikon","type":"brand"} 
    ] 
}] 
} 

しかし、私はrecord.brands()やそのようなものを試してみます。そのような方法は存在しないと言います。 モデルのデータをマッピングする際に問題が起こっていると思います。

助けていただければ幸いです。

答えて

17

は最後に問題を発見しました。将来の参考のために:

あなたはExtJSに、新しいMVC構造のパッケージを使用している場合は、そのようなあなたの協会にリンクされたクラスへのフルパスを定義します。

hasMany: {model: 'Entrypage.model.EntrypageCriterium', name: 'brands', associationKey:'brands'} 
+0

ありがとうございます。私は自分自身で同じ状況を理解しましたが、それはやりにくいものでした。 –

+0

モデルは完全修飾されていましたか?または実際にassociationKeyを追加する修正プログラムですか? – tommyO

3

hasManyアソシエーションにassociationKeyプロパティを設定する必要があるため、使用するjsonプロパティを知ることができます。

hasMany: {model: 'EntrypageCriterium',name:'brands', associationKey:'brands'} 

は、ここではロードネストされたデータセクションを参照してください。

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.reader.Reader

+0

申し訳ありませんが、動作しませんでした。しかし、 'brand'メソッドを動作させるのではなく、空のリストを返すのでしょうか? –

+0

あなたのモデルの名前空間を忘れました。あなたのforeignKeyも今は間違っていますが、あなたはこの場合にそれを使う必要はありません。 –

関連する問題