2015-01-10 78 views
2

我想要讓孩子擁有他的父母時。 我創建了一個孩子(評論),父母(後)和指針從孩子到父母與使用指針獲取父母的孩子

// Create the post 
    ParseObject myPost = new ParseObject("Post"); 
    myPost.put("title", "I'm Hungry"); 
    myPost.put("content", "Where should we go for lunch?"); 


    // Create the comment 
    ParseObject myComment = new ParseObject("Comment"); 
    myComment.put("content", "Let's do Sushirrito."); 

    // Add a relation between the Post and Comment 
    myComment.put("parent", myPost); 

    // This will save both myPost and myComment 
    myComment.saveInBackground(); 

我的查詢:

String t=""; 
ParseObject c; 

ParseQuery<ParseObject> query = 
     ParseQuery.getQuery("Comment"); 
     query.whereEqualTo("parent",myPost); 
     query.findInBackground(new FindCallback<ParseObject>() { 
      @Override 
      public void done(List<ParseObject> list,com.parse.ParseException e) { 
       if (e == null) { 
       c= list.get(0); 
       t= c.getString("content"); 
       Toast.makeText(getApplicationContext(), t , Toast.LENGTH_LONG).show();             
       } else { 
        Log.d("NY", "Model.getStudentById Error: " + e.getMessage()); 
        } 

       } 
     }); 

,但我沒有得到的評論。 我也試過把query.include(「parent」);但它不起作用。

我該怎麼辦? 謝謝

+0

在你的代碼中,你永遠不會保存'myPost'。您能否確認(通過Parse Dashboard)您的「發佈」對象實際上是否正在創建? – mbm29414

+0

ParseObject myPost = new ParseObject(「Post」); myPost.put(「title」,「我餓了」); myPost.put(「content」,「我們應該去哪裏吃午飯?」); - 這段代碼保存對象並在解析中創建表。我在我的分析中檢查過,並看到它。 –

回答

0

我唯一能想出來的是,你可能試圖從另一個方法中檢索myPost對象,然後將其實際保存到Parse中。

當我將你的代碼複製到一個測試項目中時,我無法讓它工作。這裏有一個更新的版本,確實工作。

注:我鏈接的操作,這樣我敢肯定(當然,爲確保我可以......你還需要良好的錯誤/異常處理),以前的操作之前完成表演下一個。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Parse.initialize(this, "<value>", "<value>"); 
    createPost(); 
} 

private void createPost() { 
    ParseObject myPost = new ParseObject("Post"); 
    myPost.put("title", "I'm Hungry"); 
    myPost.put("content", "Where should we go for lunch?"); 

    mPost = myPost; 

    ParseObject myComment = new ParseObject("Comment"); 
    myComment.put("content", "Let's do Sushirrito."); 

    myComment.put("parent", myPost); 

    myComment.saveInBackground(new SaveCallback() { 
     @Override 
     public void done(ParseException e) { 
      ParseQuery<ParseObject> query = ParseQuery.getQuery("Comment"); 
      query.whereEqualTo("parent", mPost); 
      query.findInBackground(new FindCallback<ParseObject>() { 
       @Override 
       public void done(List<ParseObject> list, com.parse.ParseException e) { 
        if (e == null) { 
         ParseObject c = list.get(0); 
         String t = c.getString("content"); 
         Toast.makeText(getApplicationContext(), t, Toast.LENGTH_LONG).show(); 
        } else { 
         Log.d("NY", "Model.getStudentById Error: " + e.getMessage()); 
        } 
       } 
      }); 
     } 
    }); 
} 

上面的代碼顯示了我的「Hello World」的活動,然後張貼舉杯,說:「讓我們做Sushirrito。」

相關問題