2014-03-27 18 views
0

我有兩個類,一個是User類,另一個是NewsFeed。我需要加入這兩個類,以便我可以獲得NewsFeed中的標題和User類中的名稱。關聯兩個類,並顯示在一個查詢使用parse.com android

我試過,但它失敗

ParseQuery<ParseObject> query = ParseQuery.getQuery("Feed"); 
    query.whereEqualTo("AuthorId",ParseUser.getCurrentUser().getObjectId().toString()); 
    ParseQuery<ParseObject> relationQuery = ParseQuery.getQuery("User"); 
    relationQuery.whereMatchesQuery("ObjectId",query); 
    relationQuery.find(); 

這總是返回null如果刪除了關係查詢我得到基於AUTHORID的所有數據。

回答

2

您只需要查詢供稿,因爲您已經擁有用戶對象(currentUser)。從當前用戶對象獲取名稱。

由於您試圖將Objectid與第一個查詢的結果進行匹配,因此您會得到空值,這將是一個Feed對象的列表。

+0

取代它,如果我想加載其他列在用戶類或加入其他類 – RagZ

+0

像任何其他對象:ParseUser.getCurrentUser()的getString( 「名稱」); – Moonwalkr

+0

我們如何從查詢中獲得objectId,以便我可以將它們添加到關係中,因爲ParseRelation 需要成爲ParseObject,並且當我嘗試使用getObjectId()時,它將返回字符串 – RagZ

0

試試這個: 1)

  1. 更換你的第二個行query.whereEqualTo("AuthorId",ParseUser.getCurrentUser().getObjectId().toString());

與此

query.whereEqualTo("AuthorId",ParseUser.getCurrentUser(); 
  • 而獲得的評論對於一篇文章:將一個POINTER類型的字段放在COMMENTS類中,指向POST。然後刪除您發佈的代碼的第三行,與query.whereEqualTo("field_pointerTopost",post_object_id);
  • +0

    1.只有AuthorId是一個指針時才能使用。 2.意見? OP沒有提到任何意見。而不是POST或者... – Moonwalkr

    相關問題