2013-03-06 82 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');