I have ParseObject subclass called Note and it has column owner
which is a pointer to the User
class (ParseUser). I also have a ownerSignedOut
column on my object class and when only using that as "rule" it works fine.
Adding the owner
"rule" gives me no results.
Note has these columns:
- objectId (String)
- owner (Pointer <_User>)
- ownerSignedOut (Pointer <_Installation>)
- title (String)
- createdAt (Date)
- updatedAt (Date)
- ACL (ACL)
Trying to only get objects that belong to a specific owner
or ownerSignedOut
List<ParseQuery<Note>> queries = new ArrayList<ParseQuery<Note>>();
ParseQuery<Note> query1 = ParseQuery.getQuery( Note.class );
query1.whereEqualTo( "owner", ParseUser.getCurrentUser() );
queries.add( query1 );
ParseQuery<Note> query2 = ParseQuery.getQuery( Note.class );
query2.whereEqualTo( "ownerSignedOut", ParseInstallation.getCurrentInstallation() );
queries.add( query2 );
ParseQuery<Note> query = ParseQuery.or( queries );
query.addDescendingOrder( "updatedAt" );
query.findInBackground( new FindCallback<Note>() {
// other code
- Using only query1 gives me no results
- Using only query2 gives me the correct results
- Using query1 & query2 gives me no results
Edit:
Here you can see the pointers working fine
Edit 2: This is how I create the objects:
if ( ParseUser.getCurrentUser() != null && ParseUser.getCurrentUser().getUsername() != null ) {
noteItem.put( "owner", ParseUser.getCurrentUser() );
}
noteItem.put( "title", title );
noteItem.put( "ownerSignedOut", ParseInstallation.getCurrentInstallation() );
noteItem.saveInBackground( new SaveCallback() {
@Override
public void done( ParseException e ) {
setResult( 1 );
finish();
}
} );
Edit:
My Installation class has user
column that is a pointer to User class. Can it be a conflict there?
User
class. – Jonas Borggren