2014-12-26 2 views
3

Я пытаюсь повторить ответ json, который, скорее всего, упомянут ниже, и я хочу достичь этой модели с помощью рефлексивного отношения.Есть ли какой-нибудь пример рефлексивного отношения?

{ 
    folders : [ 

      { 
      id : 1, 
      folders [ { id : 1, folders : [] } ] 
      }, 
      { 
      id : 2, 
      folders : [{ id : 1, folders : [ {id:1 , folders : [] }] }] 

      } 

    ] 
    } 

Я вот мой Try дети: DS.hasMany ('папки', {обратное: 'родитель'}), родитель: DS.belongsTo ('папки', {обратное: 'дети'})
Но не работает вообще. есть ли какой-нибудь пример?

ответ

0

Я имею сходную структуру вложенных категорий смоделированных как этот

В моей модели/category.js

export default DS.Model.extend({ 
    name: DS.attr('string'), 
    description: DS.attr('string'), 
    master: DS.belongsTo('category', {inverse: null}) 
}); 

Тогда в моем маршрутах/products.js я определить модель крюк, как этот

model: function() { 
    return { 
    products: this.store.findAll('product'), 
    categories: this.store.findAll('category') 
    }; 
} 

От контроллеров/products.js у меня есть доступ к категориям и их основных категорий, как этот

var categories = this.get('model').categories; 
    for (var i=0; i < categories.get('length'); i++) { 
    var master = categories.objectAt(i).get('master').get('id'); 

Кажется, что Эмбер все-таки заботится обо всем на заднем плане.

Смежные вопросы