2012-12-05 21 views
8

Qualcuno ha qualche suggerimento su come creare manualmente una relazione self-join usando ember-data?Self-Join con Ember-Data

Se, ad esempio, un utente aveva molti follower (altri utenti), quale sarebbe il modo più semplice per costruire questa struttura di dati in dati ember?

risposta

9

Il modo migliore che abbiamo potuto trovare senza impazzire è stato il proxy della relazione self-join con l'oggetto relazione, quindi mapparlo solo all'utente.

Quindi, se un utente ha molti "utenti" attraverso segue allora si può fare:

App.User = DS.Model.extend 
    name: DS.attr('string') 
    follows: DS.hasMany('App.Follow') 
    followers:(-> 
    @get('follows').map((data)-> App.User.find(data.get('followedUserId'))) 
).property('[email protected]') 

App.Follow = Ds.Model.extend 
    user: DS.belongsTo('App.User') 
    followedUserId: DS.attr('string') 

Speranza che aiuta!

+0

grazie, è davvero super utile! – hankang

+1

Seriamente, come si fa? Voglio dire, fai parte del team di sviluppo di Ember? Stupefacente. –

Problemi correlati