2014-10-28 16 views
6

Próbuję zrozumieć nową koncepcję asocjacji w modelach danych Extjs 5.Extjs 5 model danych - ma wiele skojarzeń

Mam następujące modele

// 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'}, 
    ] 
}); 

Mam następujący json dla użytkownika:

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

kiedy model User jest ładowany powinien zainicjować Sklep kategorie z dane.

(My Category modelu wie przekonwertować liczbę do obiektu o identyfikatorze & categoryname)

Z jakiegoś powodu, gdy próbuję się kategorię przez użytkowników sklep jest pusty.

userRecord.categories(); // has no records 

Jak mogę to uruchomić?

+0

Czy naprawdę chcą m-m? Skąd się bierze kategorie? –

+0

@EvanTrimboli: Naprawdę potrzebuję go zmapować w jedną stronę i mam mapę kategorii zakodowaną na sztywno, więc mogę przekonwertować identyfikator na jego nazwę. czego tu brakuje? – guess

Odpowiedz

1

Proszę spróbować

// Użytkownik

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 
     } 
    } 
}); 
Powiązane problemy