2013-03-06 1 views
0

parse.com이 백본 컬렉션 및 두 번째 수준의 데이터 (주석)로 작업하기 위해 자습서에서 제공하는 this example을 확장하고 싶습니다. 지금 exmaple는 다음과 같은 데이터 구조, 사용자에 대한 게시물의 목록을 검색한다 : 나는 또한 각 게시물에 대한 의견을 해당 반환이 호출을 확장 할 거라고parse.com + backbone 사용자의 중첩 된 집합을 검색하십시오.

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 | ..... 

모든 도움을 주시면 감사하겠습니다. 중첩 된 모델 백본 - relational.js을 사용할 수 있도록

답변

0

Backbone.js

백본 - relational.js는, 일대일 일대 여러 대를 제공하고, 중첩 된 모델을 지원하지 백본의 모델 사이에 하나 개의 관계 사용자에 대한 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'); 
관련 문제