2014-10-28 13 views
6

Tôi đang cố gắng hiểu khái niệm liên kết mới trong mô hình dữ liệu Extjs 5.Mô hình dữ liệu Extjs 5 - có nhiều liên kết

Tôi đã có các mô hình sau

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

tôi đã có json sau cho một người sử dụng:

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

Khi mô hình User được nạp nó nên khởi tạo các cửa hàng loại với dữ liệu.

(model Category tôi biết để chuyển đổi số cho một đối tượng của id & CategoryName)

Đối với một số lý do khi tôi cố gắng nhận loại của người sử dụng các cửa hàng trống.

userRecord.categories(); // has no records 

Tôi làm cách nào để hoạt động?

+0

Bạn có thực sự muốn có một m-m? Nó được cho là để có được các loại từ đâu? –

+0

@EvanTrimboli: Tôi thực sự cần nó để được ánh xạ một cách và tôi đã có một bản đồ loại cứng mã hóa, vì vậy tôi có thể chuyển đổi Id thành tên của nó. tôi đang thiếu gì ở đây? – guess

Trả lời

1

Vui lòng thử nó

// Người dùng

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 
     } 
    } 
}); 
Các vấn đề liên quan