elunap
elunap

Reputation: 841

Android Parse finding a result using a Pointer Id

I'm trying to get a query using as condition the Pointer Id of the object, for example I'm saving all the id's of an object in an array, then I want to get from another class (related by pointer), all the objects that uses that Id, so I already have this:

for (i = 0; i < num; i++) {
     //restaurant.setObjectId(restId[i]);

        ParseQuery<ParseObject> resultsitems = ParseQuery.getQuery("Item").whereEqualTo ("restaurant", restId[i]);

        try {
            objects=resultsitems.find();
        } catch (ParseException e) {
            e.printStackTrace();
        }

       (.......)
}

In my first try I tried to set the id into the restaurant object, then tried to use the query as:

ParseQuery<ParseObject> resultsitems = ParseQuery.getQuery("Item").whereEqualTo ("restaurant",restaurant );

But it didn't work, then I tried to search as shown in the code above, it doesn't crash but brings me nothing, how can I do this?

Upvotes: 0

Views: 357

Answers (2)

elunap
elunap

Reputation: 841

This is what really worked for me:

ParseObject obj = ParseObject.creatWithoutData("classNameThatPointedTo","fieldValue"); 
query.whereEqualTo("fieldName", obj);

Upvotes: 3

Andrew Torr
Andrew Torr

Reputation: 1147

Use: .findInBackground(new FindCallBack<Item>... (this will auto-complete in Android Studio), then put objects=resultsitems.find(); in the curly braces of the done() function.

The callback waits for the query to return before moving on with the script. Otherwise, the main thread will keep moving on without waiting for the data to come back from the server.

Upvotes: 0

Related Questions