2013-03-06 87 views
0

我想扩展this example parse.com在其教程中提供了与骨干集合和第二级数据(注释)一起使用的教程。眼下〔实施例被检索的职位名单的用户,具有以下数据结构:parse.com +骨干为用户检索嵌套的对象集

USER 
-------------------------------------- 
| User_ID | Username | ...... 
-------------------------------------- 
| 1  | John  | ........ 
| 2  | Jane  | ........ 


POST 
-------------------------------------- 
| POST_ID | User_ID | Title | ..... 
-------------------------------------- 
| 20  | 1  | abcdefg | ..... 
| 21  | 1  | svsvdsv | ..... 

我倒是扩展这个调用也返回相应注释每个岗位。这意味着将有一个 api调用解析,返回所有帖子和所有评论到这些帖子(正确嵌套)的登录用户。以下是评论的数据结构的例子:

COMMENT 
----------------------------------------------------------------------- 
| COMMENT_ID | POST_ID | Comment_Text  | Title | ..... 
----------------------------------------------------------------------- 
| 30   | 21  | awesome post woohoo | abcdefg | ..... 
| 31   | 21  | terrible post.... | svsvdsv | ..... 

任何帮助将不胜感激!

回答

0

Backbone.js的不支持嵌套模型,所以你可以使用骨干,relational.js嵌套模式,

骨干,relational.js提供一到一对一,一对多和多对多TO-模型之间的关系,一个骨干 Backbone Relation

User = Backbone.Relational.Model({ 
    defaults : { 
     id : '', 
     name : '', 
     posts : [], //collection 
    }, 
    relation : [{ 
     type : 'HasMany', 
     key : 'posts', 
     relatedModel : 'com.dw.attendance.model.Post', 
     reverseRelation : { 
      key : 'user' 
     } 
    }] 
}); 

Post = Backbone.Relational.Model({ 
    defaults : { 
     id : '', 
     user : '', //model 
     comments : '', //collection 
     title : '', 
    }, 
    relation : [{ 
     type : 'HasOne', 
     key : 'user', 
     relatedModel : 'com.dw.attendance.model.User', 
     reverseRelation : { 
      key : 'posts' 
     } 
    },{ 
     type : 'HasMany', 
     key : 'comments', 
     relatedModel : 'com.dw.attendance.model.Comment', 
     reverseRelation : { 
      key : 'post' 
     } 
    }] 
}); 


Comment = Backbone.Relational.Model({ 
    defaults : { 
     id : '', 
     post : '',//model 
     text : '', 
     title : '' 
    }, 
    relation : [{ 
     type : 'HasOne', 
     key : 'post', 
     relatedModel : 'com.dw.attendance.model.Post', 
     reverseRelation : { 
      key : 'comments' 
     } 
    }] 
}); 

你的数据是这样,对于用户:{id : 1, name : 'john', posts : [1,2,3]};

那么你就可以得到的,任何用户帖子的评论,

user.get('posts').get('post_ID').get('comments');