2014-10-28 3 views
6

Ich versuche, das neue Assoziationskonzept in Extjs 5 Datenmodelle zu verstehen.Extjs 5 Datenmodell - hat viele Assoziationen

Ich habe folgende Modelle bekommt

// User 
Ext.define('App.model.User', { 
    extend: 'App.model.Base',  
    fields: [ 
     {name: 'id', type: 'string'}, 
     {name: 'name', type: 'string'}, 
    ],  
    manyToMany: { 
     Categories: { 
      type: 'Categories', 
      role: 'categories', 
      field: 'categories', 
      right: true 
     } 
    } 
}); 

// Category 
Ext.define('App.model.Category', { 
    extend: 'App.model.Base',  
    constructor: function() {...}, 
    fields: [ 
     {name: 'id', type: 'string'}, 
     {name: 'categoryName', type: 'string'}, 
    ] 
}); 

ich folgende json für einen Benutzer habe:

{ "user": { "id": "1", "name": "Foo", "categories": [1, 2, 3] } } 

Wenn das User Modell geladen wird es die Kategorien Speicher mit den initialisieren sollte Daten.

(My Category Modell kennt die Nummer zu einem Objekt von id & category zu konvertieren)

Aus irgendeinem Grund, wenn ich versuche die Kategorien Benutzer immer der Laden ist leer.

userRecord.categories(); // has no records 

Wie kann ich das zum Funktionieren bringen?

+0

Wollen Sie wirklich einen m-m? Woher soll es die Kategorien bekommen? –

+0

@EvanTrimboli: Ich brauche es wirklich in einer Weise zugeordnet werden und ich habe eine Kategorie-Karte fest codiert, so dass ich die ID in den Namen konvertieren kann. Was fehlt mir hier? – guess

Antwort

1

Bitte versuchen Sie es

// Benutzer

Ext.define('User', { 
    extend: 'app.data.Model',  
    fields: [ 
     {name: 'id', type: 'string'}, 
     {name: 'name', type: 'string'}, 
    ],  
    hasMany: { 
     Categories: { 
      type: 'Categories', 
      role: 'categories', 
      field: 'categories', 
      right: true 
     } 
    } 
}); 
Verwandte Themen